@font-face{font-family:Young Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/young-serif-latin-400-normal-DIMmNPI9.woff2)format("woff2"),url(/assets/young-serif-latin-400-normal-D1tz0Z9s.woff)format("woff")}@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:Kalam;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/kalam-latin-400-normal-BthBl_aR.woff2)format("woff2"),url(/assets/kalam-latin-400-normal-Bl-H2BUA.woff)format("woff")}:root{--desk:#d6ded3;--desk-2:#c9d3c6;--desk-ink:#1a1f1b;--paper:#f5f8f0;--paper-2:#ecf1e6;--grid:#2f624614;--ink:#1a1f1b;--ink-2:#4a544c;--rule:#cdd7c9;--pen:#b8372a;--pen-soft:#b8372a66;--chip:#e4eadf;--cover:#2c4436;--cover-2:#1f3227;--console:#111714;--console-2:#1b231f;--console-ink:#dce6dd;--console-dim:#93a898;--console-pen:#ff7d6b;--good:#2c6e4a;--edge:#e2e8dc;--cover-ink:#f2efe6;--band:#16211a;--grain:url(/paper-grain.svg);--f-display:"Young Serif", "Iowan Old Style", Georgia, serif;--f-body:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--f-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--f-hand:"Kalam", "Segoe Print", "Comic Sans MS", cursive;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--desk:#0b0f0d;--desk-2:#131915;--desk-ink:#e2e9e1;--paper:#171d19;--paper-2:#1c231e;--grid:#bee1c80d;--ink:#e2e9e1;--ink-2:#a6b3a9;--rule:#2b352f;--pen:#ff806e;--pen-soft:#ff806e61;--chip:#232c27;--cover:#24382c;--cover-2:#162219;--console:#070a09;--console-2:#121815;--good:#7ccb9b;--edge:#222a25;--cover-ink:#e8e4da;--band:#0c120e;--grain:url(/paper-grain-dark.svg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;height:100%}body{background:var(--desk);min-height:100%;color:var(--desk-ink);font-family:var(--f-body);-webkit-font-smoothing:antialiased;background-image:radial-gradient(ellipse at 50% 40%, color-mix(in srgb, var(--desk) 70%, #fff 30%) 0%, var(--desk) 60%, var(--desk-2) 100%);background-attachment:fixed;margin:0;line-height:1.55;overflow:hidden}img,svg{max-width:100%}a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}a:hover{-webkit-text-decoration-color:var(--pen);text-decoration-color:var(--pen)}button{font:inherit;color:inherit}html{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--pen);outline-offset:3px;border-radius:3px}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.num{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.mono{font-family:var(--f-mono)}.desk{flex-direction:column;align-items:center;height:100dvh;display:flex;overflow:hidden}.iconbtn{border:1px solid color-mix(in srgb, var(--desk-ink) 18%, transparent);cursor:pointer;background:0 0;border-radius:8px;place-items:center;width:44px;height:44px;display:inline-grid}.iconbtn:hover{background:color-mix(in srgb, var(--desk-ink) 7%, transparent)}.iconbtn svg{width:20px;height:20px}.notice{background:var(--paper);color:var(--ink);border:1px solid var(--rule);border-radius:6px;margin:10px 16px 0;padding:8px 14px;font-size:14px}main{flex:1;width:100%;min-height:0;display:flex}main.behind{pointer-events:none}.book-wrap{--gap:12px;min-width:0;min-height:0;padding:calc(var(--gap) + 14px) calc(max(var(--gap), env(safe-area-inset-right,0px)) + 16px) calc(max(var(--gap), env(safe-area-inset-bottom,0px)) + 16px) calc(max(var(--gap), env(safe-area-inset-left,0px)) + 16px);flex-direction:column;flex:1;display:flex;position:relative}.book{perspective:2800px;touch-action:pan-y;flex:1;width:100%;min-height:0;position:relative}.book:before{content:"";background:var(--cover);background-image:linear-gradient(90deg, var(--cover-2) 0 2%, transparent 6% 94%, var(--cover-2) 98%), repeating-linear-gradient(45deg, #ffffff06 0 2px, transparent 2px 5px);border-radius:12px;position:absolute;inset:-14px -16px -16px;box-shadow:0 40px 70px -40px #0009,0 10px 22px -12px #00000059}.book:after{content:"";pointer-events:none;background:linear-gradient(90deg, var(--edge), var(--paper) 2%, var(--paper) 98%, var(--edge));box-shadow:0 1px 0 var(--rule), 0 3px 0 var(--edge), 0 4px 0 var(--rule), 0 6px 0 var(--edge);border-radius:6px;position:absolute;inset:2px -5px -7px}.overlay .book.closed:before,.overlay .book.closed:after,[data-cover=front] .main .book.closed:before,[data-cover=front] .main .book.closed:after,.book.turning-front:after{left:50%}.overlay .book.closed:before,[data-cover=front] .main .book.closed:before{left:calc(50% - 4px)}.overlay .book.closed.at-back:before{left:-16px}.overlay .book.closed.at-back:after{left:-5px}.overlay .book.closed.at-back:before,.overlay .book.closed.at-back:after,[data-cover=back] .main .book.closed:before,[data-cover=back] .main .book.closed:after,.book.turning-back:after{right:50%}.overlay .book.closed.at-back:before,[data-cover=back] .main .book.closed:before{right:calc(50% - 4px)}[data-cover=front] .main .book.closed{transform:translate(-25%)}[data-cover=back] .main .book.closed{transform:translate(25%)}.pages{z-index:1;grid-template-columns:1fr 1fr;display:grid;position:absolute;inset:0}.slot{min-width:0;position:relative;container-type:size}.spine{z-index:3;pointer-events:none;background:linear-gradient(90deg,#0000 0,#00000038 45%,#00000047 50%,#00000038 55%,#0000 100%);width:18px;position:absolute;top:-14px;bottom:-16px;left:calc(50% - 9px)}.overlay .book.closed .spine,[data-cover] .main .book.closed .spine,[data-cover=front] .main .book.closed .corner{display:none}.page{color:var(--ink);background-color:var(--paper);background-image:var(--grain), linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);--ml:12%;--rule-x:9%;background-position:0 0,-1px -1px,-1px -1px;background-size:180px 180px,1.6em 1.6em,1.6em 1.6em;flex-direction:column;font-size:clamp(14px,min(2.05cqh,3.1cqi),20px);display:flex;position:absolute;inset:0;overflow:hidden}.page.with-margin{--mw:clamp(120px, 15cqi, 190px);--ml:calc(var(--mw) + 2.4cqi);--rule-x:var(--mw)}.page.left{border-radius:6px 0 0 6px;box-shadow:inset -26px 0 30px -26px #00000047}.page.right{border-radius:0 6px 6px 0;box-shadow:inset 26px 0 30px -26px #00000047}.page.blank{background-image:var(--grain), linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px)}.page.pre,.overlay .book.closed .pages,[data-cover] .main .book.closed .pages{visibility:hidden}.page:not(.cover):before{content:"";top:0;bottom:0;left:var(--rule-x);background:var(--pen-soft);pointer-events:none;width:1.5px;position:absolute}.page-head,.page-foot{font-family:var(--f-mono);letter-spacing:.06em;color:var(--ink-2);padding:0 7% 0 var(--ml);flex:none;justify-content:space-between;font-size:.68em;display:flex}.page-head{text-transform:uppercase;padding-top:4.5%;padding-bottom:2%}.page-foot{gap:1.1em;padding-top:1%;padding-bottom:3.5%}.page-foot .foot-label{gap:1.1em;min-width:0;display:flex}.page-foot .foot-ch{letter-spacing:.02em}.page.left .page-foot{justify-content:flex-start;padding-left:calc(56px + .6em)}.page.left .page-foot .pno{width:max(2.4em, calc(var(--ml) - 56px - .6em - 1.1em));flex:none;order:-1}.page.right .page-foot{justify-content:flex-end;padding-right:calc(56px + .6em)}.page.right .page-foot .foot-label{display:none}.page-body{min-height:0;padding:1% 7% 2% var(--ml);scrollbar-width:thin;scrollbar-color:var(--rule) transparent;overscroll-behavior:contain;touch-action:pan-y;flex:1;overflow-y:auto}.page-body:after{content:"";pointer-events:none;opacity:0;background:radial-gradient(farthest-side at 50% 100%,#0003,#0000);height:.9em;margin-top:-.9em;transition:opacity .2s;display:block;position:sticky;bottom:-2cqi}.page-body[data-more]:after{opacity:1}.page-body>*{max-width:40em}.page h1{font-family:var(--f-display);letter-spacing:-.01em;margin:.25em 0 .35em;font-size:2.8em;font-weight:400;line-height:.98}.page h2{font-family:var(--f-display);margin:.3em 0 .45em;font-size:1.85em;font-weight:400;line-height:1.1}.page h3{font-family:var(--f-display);margin:.25em 0 .5em;font-size:1.35em;font-weight:400;line-height:1.2}.page p{margin:0 0 .8em}.page ul{margin:0 0 .8em;padding-left:1.2em}.page li+li{margin-top:.35em}.page ul.tight li+li{margin-top:.55em}.page ul.sub{margin:.35em 0 .2em;padding-left:1.1em;font-size:max(14px,.92em);line-height:1.4}.page ul.sub li+li{margin-top:.25em}.lbl{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-size:.72em;display:inline-block}.eyebrow{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-size:.74em}.muted{color:var(--ink-2)}.small{font-size:.88em}.stack{flex-direction:column;gap:.9em;display:flex}.cover-layer{z-index:4;width:50%;position:absolute;top:0;bottom:0;left:50%;container-type:size}.cover-layer.back{display:none;left:0}.overlay .book.at-back .cover-layer.front{display:none}.overlay .book.at-back .cover-layer.back{display:block}.main .cover-layer{display:none}[data-cover=front] .main .cover-layer.front,[data-cover=back] .main .cover-layer.back{display:block}.page.cover{background:var(--tone,var(--cover));color:#f2efe6;background-image:repeating-linear-gradient(45deg,#ffffff08 0 2px,#0000 2px 6px);border-radius:0 8px 8px 0;box-shadow:inset 18px 0 24px -18px #00000080}.cover-art{flex-direction:column;justify-content:center;gap:1em;height:100%;padding:12%;display:flex}.cover-art .lbl{color:#f2efe6bf}.cover-title{font-family:var(--f-display);border-top:1px solid #f2efe666;border-bottom:1px solid #f2efe666;padding:.5em 0;font-size:2.4em;line-height:1.05}.cover-foot{font-family:var(--f-mono);letter-spacing:.06em;color:#f2efe6b3;margin-top:auto;font-size:.72em}.cover-open{cursor:pointer;background:0 0;border:none;width:100%;padding:0;position:absolute;inset:0}.cover-open:focus-visible{outline-offset:-8px;border-radius:10px}.cover-open+.cover-art{pointer-events:none;position:relative}.cover-sub{font-family:var(--f-mono);letter-spacing:.04em;color:var(--cover-ink);font-size:.8em}.cover-line{color:var(--cover-ink);max-width:22em;margin:0;line-height:1.45}.cover-resume{pointer-events:auto;min-height:44px;color:var(--cover-ink);font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;align-self:flex-start;align-items:center;font-size:.8em;display:inline-flex}.cover-prompt{align-items:center;gap:.6em;display:flex}.cover-prompt .by-touch{display:none}@media (hover:none) and (pointer:coarse){.cover-prompt .by-touch{display:inline}.cover-prompt .by-mouse{display:none}}.cover-arrow{font-size:1.4em;animation:1.4s ease-in-out infinite nudge;display:inline-block}.page.cover.back-cover{border-radius:8px 0 0 8px;box-shadow:inset -18px 0 24px -18px #00000080}.main .page.cover:not(.back-cover):after,.main .cover-layer.front:after{content:"";pointer-events:none;background:linear-gradient(90deg, #ffffff14, transparent 30% 70%, #0000004d), var(--band);width:max(10px,1.6cqi);position:absolute;top:0;bottom:0;right:7%;box-shadow:-2px 0 4px -1px #00000059,2px 0 4px -1px #00000040}.main .cover-layer.front:after{z-index:-1;top:-14px;bottom:-16px}.back-art{gap:.9em}.back-art .cover-title{font-size:2.1em}.cover-email{font-family:var(--f-mono);letter-spacing:.02em;color:var(--cover-ink);font-size:max(14px,.85em)}.cover-actions{flex-wrap:wrap;gap:.5em;display:flex}.cover-btn,.cover-restart{cursor:pointer;border:1px solid color-mix(in srgb, var(--cover-ink) 40%, transparent);min-height:44px;color:var(--cover-ink);font:inherit;font-family:var(--f-mono);letter-spacing:.04em;background:0 0;border-radius:6px;align-items:center;padding:0 .9em;font-size:max(14px,.78em);text-decoration:none;display:inline-flex}.cover-btn:hover{background:color-mix(in srgb, var(--cover-ink) 12%, transparent)}.cover-actions .cover-btn:first-child{background:var(--cover-ink);color:var(--cover);border-color:var(--cover-ink)}.cover-restart{text-underline-offset:.25em;border-color:#0000;align-self:flex-start;padding:0;text-decoration:underline}.page.cover :focus-visible{outline-color:var(--cover-ink)}@keyframes nudge{50%{transform:translate(.45em)}}.margin{width:var(--mw);z-index:1;scrollbar-width:none;touch-action:pan-y;flex-direction:column;gap:.7em;padding:.8em .7em 80px .9em;display:flex;position:absolute;top:0;bottom:0;left:0;overflow:hidden auto}.margin-top{justify-content:space-between;align-items:center;gap:4px;display:flex}.mlink{font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);align-items:center;min-height:44px;font-size:.72em;text-decoration:none;display:inline-flex}.mlink:hover,.mback:hover,.margin li a:hover{color:var(--pen)}.chrome{z-index:7;pointer-events:none;transition:opacity .2s;position:absolute;inset:0;container-type:inline-size}.chrome>*{pointer-events:auto}.book.closed .chrome,.book.covering .chrome{opacity:0;visibility:hidden;transition:opacity .15s,visibility 0s linear .15s}.book-theme{position:absolute;top:max(6px,2.25cqi - 14px);right:3.5cqi}.page.with-theme .page-head{padding-right:calc(7% + 52px)}.foot-phone,.ribbon,.toc-panel{display:none}.book-theme .iconbtn{border-color:color-mix(in srgb, var(--ink) 18%, transparent);color:var(--ink)}.book-theme .iconbtn:hover{background:color-mix(in srgb, var(--ink) 7%, transparent)}.margin ol{margin:.2em 0 0;padding:0;list-style:none}.margin li a{font-family:var(--f-hand);color:var(--ink-2);align-items:center;min-height:44px;line-height:1.2;text-decoration:none;display:flex}.margin li a[aria-current=true]{color:var(--pen)}.margin .mark-wrap{white-space:normal}.mback{cursor:pointer;text-align:left;min-height:44px;color:var(--ink-2);background:0 0;border:none;flex:none;margin-top:auto;padding:0;font-size:.82em;line-height:1.25}.leaves{z-index:4;pointer-events:none;position:absolute;inset:0}.leaf{transform-style:preserve-3d;will-change:transform;position:absolute;top:0;bottom:0}.leaf-right{transform-origin:0;width:50%;left:50%}.leaf-left{transform-origin:100%;width:50%;left:0}.leaf-single{transform-origin:0;width:100%;left:0}.face{backface-visibility:hidden;position:absolute;inset:0;container-type:size}.face.back{transform:rotateY(180deg)}.shade{pointer-events:none;opacity:0;position:absolute;inset:0}.leaf-right .front .shade,.leaf-left .back .shade{background:linear-gradient(90deg,#00000047,#0000 70%)}.leaf-left .front .shade,.leaf-right .back .shade{background:linear-gradient(270deg,#00000047,#0000 70%)}.leaf-single .front .shade{background:linear-gradient(90deg,#00000047,#0000000d 60%,#0000)}.leaf-single .back .shade{background:linear-gradient(270deg,#00000047,#0000000d 60%,#0000)}.book.turning-front:before{left:calc(50% - 4px)}.book.turning-back:before{right:calc(50% - 4px)}.book.turning-front .corner.prev,.book.turning-back .corner.next{visibility:hidden}.book.turning-front .spine{clip-path:inset(0 0 0 50%)}.book.turning-back .spine{clip-path:inset(0 50% 0 0)}.leaf-board{background-color:var(--cover);background-image:linear-gradient(90deg, var(--paper) 96%, var(--edge)), linear-gradient(var(--rule) 0 1px, var(--edge) 1px 3px, var(--rule) 3px 4px, var(--edge) 4px 6px), linear-gradient(90deg, var(--cover-2) 0 2%, transparent 6% 94%, var(--cover-2) 98%), repeating-linear-gradient(45deg, #ffffff06 0 2px, transparent 2px 5px);background-position:0 16px,left 0 bottom 3px,0 0,0 0;background-repeat:no-repeat,no-repeat,no-repeat,repeat;background-size:calc(100% - 11px) calc(100% - 25px),calc(100% - 11px) 6px,auto,auto;border-radius:0 12px 12px 0;position:absolute;inset:-14px -16px -16px 0;transform:translateZ(-1px)}.leaf-cover>.face.back{transform:translateZ(-2px)rotateY(180deg)}.corner{z-index:5;cursor:pointer;width:72px;height:72px;color:var(--ink);background:0 0;border:none;padding:6px;display:grid;position:absolute;bottom:-6px}.corner .ear{background:linear-gradient(135deg, transparent 50%, var(--paper-2) 50%);transform-origin:100% 100%;border-radius:0 0 6px;place-items:center;width:56px;height:56px;padding:16px 0 0 16px;font-size:28px;line-height:1;transition:transform .18s;display:grid;box-shadow:-2px -2px 6px -3px #00000040}.corner.next{place-items:end;right:-6px}.corner.prev{place-items:end start;left:-6px}.corner.prev .ear{background:linear-gradient(225deg, transparent 50%, var(--paper-2) 50%);transform-origin:0 100%;border-radius:0 0 0 6px;padding:16px 16px 0 0;box-shadow:2px -2px 6px -3px #00000040}.corner:hover:not(:disabled) .ear,.corner:focus-visible .ear{color:var(--pen)}.corner .tip{font-family:var(--f-mono);letter-spacing:.04em;white-space:nowrap;background:var(--ink);color:var(--paper);pointer-events:none;opacity:0;border-radius:4px;padding:4px 8px;font-size:12px;transition:opacity .15s,transform .15s;position:absolute;bottom:calc(100% - 4px);transform:translateY(4px)}.corner.next .tip{right:10px}.corner.prev .tip{left:10px}.corner:hover .tip,.corner:focus-visible .tip{opacity:1;transform:none}.corner:disabled{opacity:0;pointer-events:none}.close{z-index:6;cursor:pointer;background:var(--desk-ink);width:44px;height:44px;color:var(--desk);border:none;border-radius:50%;font-size:24px;line-height:1;position:absolute;top:-12px;right:-14px;box-shadow:0 6px 16px -6px #00000080}.overlay{z-index:30;place-items:center;animation:.32s cubic-bezier(.2,.7,.2,1) both rise;display:grid;position:fixed;inset:0;overflow:hidden}.overlay.leaving{animation:.24s ease-in both sink}.overlay-dim{background:color-mix(in srgb, var(--desk) 45%, #000 55%);opacity:.88;position:fixed;inset:0}.overlay .book-wrap{--gap:0px;flex:none;width:92vw;height:92dvh}.tone-oxblood{--tone:#6b2a24}.tone-navy{--tone:#243a5e}.tone-green{--tone:#2c4f3a}.tone-oxblood,.tone-navy,.tone-green{--cover:var(--tone);--cover-2:color-mix(in srgb, var(--tone) 70%, #000)}.overlay .book:before{background-color:var(--tone)}@keyframes rise{0%{opacity:0;transform:translateY(28px)scale(.97)}to{opacity:1;transform:none}}@keyframes sink{to{opacity:0;transform:translateY(24px)scale(.97)}}.intro h1{margin-top:.35em}.page-body>.intro-page{flex-direction:column;min-height:100%;display:flex}.howto{border-top:1px solid var(--rule);margin-top:auto;padding-top:.6em}.howto ul{gap:.3em;margin:.3em 0 0;padding:0;font-size:max(14px,.92em);line-height:1.45;list-style:none;display:grid}.howto .by-touch{display:none}@media (hover:none) and (pointer:coarse){.howto .by-touch{display:grid}.howto .by-mouse{display:none}}.lede{font-size:1.12em;line-height:1.5}.actions{flex-wrap:wrap;gap:.5em;margin:.4em 0 1.2em;display:flex}.btn{cursor:pointer;border:1px solid color-mix(in srgb, var(--ink) 25%, transparent);white-space:nowrap;background:0 0;border-radius:8px;align-items:center;min-height:44px;padding:.55em 1em;font-size:.92em;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--ink)}.btn.solid{background:var(--ink);color:var(--paper);border-color:var(--ink)}.entry-meta{flex-wrap:wrap;align-items:baseline;gap:.3em .9em;display:flex}.entry-meta .no{font-family:var(--f-mono);color:var(--pen);letter-spacing:.04em;font-size:.8em}.chips{flex-wrap:wrap;gap:.45em;margin:0 0 .9em;list-style:none;display:flex;padding:0!important}.chips li{font-family:var(--f-mono);background:var(--chip);border-radius:999px;padding:.3em .8em;font-size:.74em;margin:0!important}.flow{font-family:var(--f-mono);flex-wrap:wrap;align-items:center;gap:.4em 0;margin:.3em 0 .8em;font-size:.74em;list-style:none;display:flex;padding:0!important}.flow li{align-items:center;display:flex;margin:0!important}.flow .arr{color:var(--ink-2);padding:0 .45em}.flow .step{background:var(--chip);white-space:nowrap;border:1.5px solid #0000;border-radius:999px;padding:.25em .75em}.flow .key .step{border-color:var(--pen);color:var(--pen)}.page ul.decisions{margin:.3em 0 .8em}.page ul.decisions li+li{margin-top:.25em}.qsr{grid-template-columns:6.2em minmax(0,1fr);gap:.5em .9em;margin:.5em 0 1em;display:grid}.qsr dt{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);padding-top:.35em;font-size:.7em}.qsr dd{margin:0}.statpage{flex-direction:column;gap:.6em;display:flex}:is(.page-body>.statpage,.page-body>.stack:has(>.console)){min-height:100%}.statpage>.fig{flex-direction:column;flex:auto;max-height:28em;display:flex}.statpage>.fig>:first-child{flex:1}.statpage .fig>div:has(>.bars){flex-direction:column;display:flex}.statpage .bars{flex:1;grid-auto-rows:1fr}.statpage .bar .track{height:clamp(1.25em,4cqh,2.4em)}.statpage .gainmini{grid-auto-rows:1fr}.statpage .gainmini li{align-items:center}.statpage .dots{grid-auto-rows:1fr;align-items:center}.statpage .pt{width:clamp(.85em,2cqh,1.1em);height:clamp(.85em,2cqh,1.1em)}.stat .big{letter-spacing:-.03em;font-size:3.2em;line-height:1;display:block}.stat .what{color:var(--ink-2);margin-top:.35em;display:block}.runrow,.endnav{flex-wrap:wrap;align-items:center;gap:.6em 1em;margin-top:.3em;display:flex}@media not ((width<=899px) or (aspect-ratio<=11/10) or (height<=500px)){.page-body:has(>.statpage){font-size:max(14px,min(1em,2.3cqi,1.95cqh))}@container (height<=860px){.statpage{gap:.4em}.statpage>.pen{margin-bottom:.4em}.statpage>.fig{margin-top:.8em;margin-bottom:.3em}.statpage>ul.decisions{margin:.2em 0 .5em}.statpage .bar .track{height:clamp(1.1em,3.1cqh,2.4em)}}}.endnav{flex-direction:column;align-items:flex-start;margin-top:1em}.run{background:var(--ink);min-height:44px;color:var(--paper);border-radius:8px;align-items:center;gap:.55em;padding:.6em 1.1em;font-weight:500;text-decoration:none;display:inline-flex}.run:hover{background:color-mix(in srgb, var(--ink) 82%, var(--pen))}.run-dot{background:var(--console-pen);border-radius:50%;width:.55em;height:.55em;box-shadow:0 0 0 .2em #ff7d6b40}.ext{align-items:center;min-height:44px;display:inline-flex}.pen{font-family:var(--f-hand);color:var(--pen);transform-origin:0 0;margin:.4em 0 .6em;font-size:1.06em;line-height:1.3;transform:rotate(-1.2deg)}.pen.right{text-align:right;transform-origin:100% 0;transform:rotate(-1deg)}.mark-wrap{white-space:nowrap;display:inline-block;position:relative}.mark{pointer-events:none;max-width:none;position:absolute;overflow:visible}.mark.ring{width:calc(100% + 1.2em);height:calc(100% + .9em);top:-.45em;left:-.6em}.mark.under{width:calc(100% + 4px);height:.6em;bottom:-.42em;left:-2px;right:-2px}.mark.strike{width:calc(100% + 8px);height:.5em;top:50%;left:-4px;right:-4px;transform:translateY(-50%)}.mark path{fill:none;stroke:var(--pen);stroke-width:2.1px;stroke-linecap:round;vector-effect:non-scaling-stroke}.js .mark path{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset .85s cubic-bezier(.65,0,.35,1) .25s}.js .mark.in path{stroke-dashoffset:0}figure.fig{background:color-mix(in srgb, var(--paper) 80%, #fff);border:1px solid var(--rule);border-radius:5px;margin:.9em 0 .5em;padding:.9em .9em .7em;position:relative;box-shadow:0 8px 18px -16px #0006}:root[data-theme=dark] figure.fig{background:color-mix(in srgb, var(--paper) 88%, #fff)}figure.fig:before{content:"";background:color-mix(in srgb, var(--pen) 10%, color-mix(in srgb, var(--paper) 70%, #c9c3a6));opacity:.85;border-radius:2px;width:4.4em;height:1.3em;position:absolute;top:-.65em;left:1.4em;transform:rotate(-3deg)}figcaption{color:var(--ink-2);margin-top:.6em;font-size:.8em}figcaption b{font-family:var(--f-mono);color:var(--ink);margin-right:.4em;font-weight:500}.filters{flex-wrap:wrap;gap:.4em;margin-bottom:.6em;display:flex}.filter{font-family:var(--f-mono);border:1px solid var(--rule);color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;min-height:36px;padding:.35em .8em;font-size:.74em}.filter[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.filter:hover{border-color:var(--ink)}.cause-table{border-collapse:collapse;width:100%;font-size:.82em}.cause-table th{font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);text-align:left;border-bottom:1px solid var(--rule);padding:.4em .45em;font-size:.82em;font-weight:500}.cause-table td{border-bottom:1px solid var(--rule);vertical-align:top;padding:.5em .45em;transition:opacity .2s}.cause-table tr:last-child td{border-bottom:none}.cause-table tr.dim td{opacity:.25}.cause-table .chg{font-family:var(--f-mono);white-space:nowrap;font-size:.9em}.tag{font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-radius:4px;padding:.1em .45em;font-size:.78em}.tag.fix{background:color-mix(in srgb, var(--good) 18%, transparent);color:var(--good)}.tag.bug,.tag.strict{background:color-mix(in srgb, var(--ink) 10%, transparent);color:var(--ink)}.tag.noise{background:color-mix(in srgb, var(--pen) 14%, transparent);color:var(--pen)}.tablebox{overflow-x:auto}.gainmini{gap:.35em;margin:0;padding:0;font-size:.88em;list-style:none;display:grid}.gainmini li{border-bottom:1px solid var(--rule);grid-template-columns:9.6em minmax(0,1fr) auto;align-items:baseline;gap:.6em;padding-bottom:.35em;display:grid;margin:0!important}.gainmini li:last-child{border-bottom:none}.gainmini .chg{font-family:var(--f-mono);color:var(--ink-2);white-space:nowrap;font-size:.86em}.bars{gap:.6em;display:grid}.bar{grid-template-columns:7em minmax(0,1fr) 3em;align-items:center;gap:.7em;font-size:.86em;display:grid}.bar .track{background:color-mix(in srgb, var(--ink) 7%, transparent);border-radius:3px;height:1.25em;overflow:hidden}.bar .fill{background:var(--ink);transform-origin:0;width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.7,.2,1) .1s}.bar.best .fill{background:var(--pen)}.bar .v{font-family:var(--f-mono);text-align:right}.dots{gap:.8em;display:grid}.dotrow{grid-template-columns:5.6em minmax(0,1fr) 3em;align-items:center;gap:.6em;font-size:.86em;display:grid}.dotrow .pts{flex-wrap:wrap;gap:.3em;display:flex}.pt{border:1.5px solid var(--ink);border-radius:50%;width:.85em;height:.85em}.pt.on{background:var(--ink)}.pt.on.new{background:var(--pen);border-color:var(--pen)}.dotrow .v{font-family:var(--f-mono);text-align:right}.runs{gap:.6em;display:grid}.runrow-t,.runs .runrow{grid-template-columns:3.4em minmax(0,1fr) 3em;align-items:center;gap:.6em;font-size:.86em;display:grid}.tiles{grid-template-columns:repeat(8,minmax(0,1fr));gap:.3em;display:grid}.tile{aspect-ratio:1;background:var(--ink);border-radius:3px;position:relative}.tile.fail{border:1.5px solid var(--pen);background:0 0}.tile.changed:after{content:"";border:1.5px dashed var(--ink-2);border-radius:5px;position:absolute;inset:-3px}.legend{color:var(--ink-2);flex-wrap:wrap;gap:.3em 1em;margin-top:.7em;font-size:.78em;display:flex}.legend span{align-items:center;gap:.4em;display:inline-flex}.legend i{border-radius:3px;width:.8em;height:.8em;display:inline-block}.arch{flex-direction:column;align-items:stretch;display:flex}.arch-step{flex-direction:column;align-items:center;display:flex}.arch .arrow{color:var(--ink-2);font-family:var(--f-mono);font-size:.8em;line-height:1.5}.arch .node{border:1.5px solid var(--ink);background:var(--paper);border-radius:5px;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.8em;width:100%;padding:.35em .7em;display:flex}.arch .node b{font-family:var(--f-mono);font-size:.86em;font-weight:500}.arch .node span{color:var(--ink-2);font-size:.8em}.arch .node.hot{border-color:var(--pen)}.facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8em 1em;margin:.8em 0;display:grid}.facts div{border-top:1.5px solid var(--ink);padding-top:.4em}.facts .big{font-size:1.55em;display:block}.facts span:last-child{color:var(--ink-2);font-size:.8em}.fails{gap:.6em;margin-top:.4em;display:grid}.failcard{border:1.5px solid var(--pen-soft);border-radius:5px;padding:.55em .8em}.failcard .mono{color:var(--pen);font-size:.78em}.failcard p{margin:.3em 0 0;font-size:.88em}.steps{counter-reset:s;gap:.6em;margin:.3em 0 .6em;list-style:none;display:grid;padding:0!important}.steps li{counter-increment:s;grid-template-columns:1.9em minmax(0,1fr);gap:.6em;display:grid;margin:0!important}.steps li:before{content:counter(s);font-family:var(--f-mono);border:1.5px solid var(--ink);border-radius:50%;place-items:center;width:1.9em;height:1.9em;font-size:.76em;display:grid}.steps li.key:before{border-color:var(--pen);color:var(--pen)}pre.code{font-family:var(--f-mono);background:var(--console);color:var(--console-ink);border-radius:6px;margin:.3em 0 .4em;padding:.7em .9em;font-size:.76em;line-height:1.55;overflow-x:auto}blockquote.quote{border-left:3px solid var(--pen);font-family:var(--f-mono);background:color-mix(in srgb, var(--pen) 6%, transparent);margin:.5em 0 .8em;padding:.5em .9em;font-size:.8em}.type-table{border-collapse:collapse;width:100%;margin-bottom:.8em;font-size:.86em}.type-table th,.type-table td{border-bottom:1px solid var(--rule);text-align:left;padding:.45em .4em}.type-table th{font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-size:.8em;font-weight:500}.type-table .n{font-family:var(--f-mono);text-align:center}.type-table tr.total td{border-bottom:none;font-weight:600}.type-table td.win{color:var(--pen);font-weight:600}.qx-tabs{scrollbar-width:thin;gap:.3em;padding-bottom:.5em;display:flex;overflow-x:auto}.qx-nav{align-items:stretch;gap:.3em;margin-bottom:.5em;display:flex}.qx-nav .qx-tabs{scrollbar-width:none;flex:auto;min-width:0;padding-bottom:0}.qx-nav .qx-tabs::-webkit-scrollbar{display:none}.qx-arrow{min-width:max(2em,40px);font:inherit;color:var(--ink);border:1px solid var(--rule);cursor:pointer;background:0 0;border-radius:5px;flex:none;font-size:1.1em;line-height:1}.qx-arrow:hover:not(:disabled){border-color:var(--ink-2);color:var(--pen)}.qx-arrow:disabled{opacity:.35;cursor:default}.qx-tab{font-family:var(--f-mono);border:1px solid var(--rule);color:var(--ink);cursor:pointer;text-align:left;background:0 0;border-radius:5px;flex:none;min-height:40px;padding:.35em .55em;font-size:.7em}.qx-tab[aria-selected=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.qx-tab small{opacity:.75;text-transform:uppercase;font-size:.82em;display:block}.qx-q{font-family:var(--f-display);font-size:1.05em;line-height:1.3;margin:.4em 0 .3em!important}.qx-gold{color:var(--ink-2);font-size:.8em;margin-bottom:.5em!important}.qx-arms{gap:.45em;display:grid}.arm{border:1px solid var(--rule);border-radius:5px;min-width:0;padding:.45em .65em;font-size:.8em}.arm.ok{border-color:color-mix(in srgb, var(--good) 55%, var(--rule))}.arm.no{border-color:var(--pen-soft)}.arm-h{justify-content:space-between;align-items:center;gap:.5em;margin-bottom:.25em;display:flex}.arm-h .mono{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2);font-size:.85em}.verdict{font-family:var(--f-mono);border-radius:4px;padding:.05em .45em;font-size:.85em}.verdict.ok{background:color-mix(in srgb, var(--good) 18%, transparent);color:var(--good)}.verdict.no{background:color-mix(in srgb, var(--pen) 14%, transparent);color:var(--pen)}.arm p{overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;margin:0 0 .2em!important}.arm .note{font-family:var(--f-hand);color:var(--pen);-webkit-line-clamp:2;font-size:1.05em;line-height:1.25}.skillgrid{grid-template-columns:6.8em minmax(0,1fr);gap:.35em .8em;margin:.5em 0 0;display:grid}.skillgrid dt{font-family:var(--f-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-2);padding-top:.35em;font-size:.68em}.skillgrid dd{margin:0;font-size:.92em}.certs{gap:.5em;margin:.5em 0 0;list-style:none;display:grid;padding:0!important}.certs li{border-bottom:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;gap:.6em;padding-bottom:.5em;display:flex;margin:0!important}.preds{margin:.3em 0 .9em;list-style:none;padding:0!important}.preds li{border-bottom:1px solid var(--rule);padding:.4em 0;margin:0!important}.preds li:last-child{border-bottom:none}.preds .lbl{display:block}.preds .pred{font-family:var(--f-hand);color:var(--pen);line-height:1.3;display:block}.progress{font-family:var(--f-mono);margin:.3em 0 .6em;font-size:max(14px,.8em);list-style:none;padding:0!important}.progress li{grid-template-columns:1.6em minmax(0,1fr);padding:.15em 0;display:grid;margin:0!important}.progress .done .st{color:var(--good)}.progress .doing .st{color:var(--pen)}.progress .todo{color:var(--ink-2)}.contact .big-mail{font-family:var(--f-display);overflow-wrap:normal;margin:.2em 0 .7em;font-size:min(1.55em,4.75cqi);line-height:1.15;text-decoration:none;display:block;position:relative}.contact .big-mail:after{content:"";position:absolute;inset:-17px 0 -10px}.colophon{font-family:var(--f-mono);color:var(--ink-2);font-size:.72em;margin-top:1.6em!important}.console{background:var(--console);color:var(--console-ink);font-family:var(--f-mono);border-radius:8px;padding:.7em;font-size:max(14px,.76em);line-height:1.5;box-shadow:0 18px 34px -20px #0009,inset 0 0 0 1px #ffffff0f}.console-head{justify-content:space-between;align-items:center;gap:.6em;padding:0 .2em .6em;display:flex}.console-play{gap:.35em;display:flex}.console-title{letter-spacing:.08em;text-transform:uppercase;color:var(--console-dim);align-items:center;gap:.5em;font-size:max(14px,.9em);display:flex}.console-title .dot{background:var(--console-pen);border-radius:50%;width:.6em;height:.6em;box-shadow:0 0 0 .22em #ff7d6b2e}.console-title .dot.idle{background:var(--console-dim);box-shadow:none}.requests{scrollbar-width:none;gap:.45em;padding:0 0 .6em;display:flex;overflow-x:auto}.requests-nav{flex:none;align-items:flex-start;gap:.35em;display:flex}.requests-nav .requests{flex:auto;align-items:flex-start;min-width:0;height:auto}.requests-nav .req{white-space:normal;text-align:left;max-width:100%}.req-arrow{flex:none}.requests::-webkit-scrollbar{display:none}.req{font:inherit;color:var(--console-ink);background:var(--console-2);cursor:pointer;white-space:nowrap;border:1px solid #ffffff1a;border-radius:999px;flex:none;min-height:36px;padding:.45em .85em;font-size:max(14px,.95em)}.req[aria-pressed=true]{border-color:var(--console-pen);color:#fff}.screen{background:var(--console-2);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#2f3a34 transparent;border-radius:6px;height:22em;padding:.7em .8em;overflow-y:auto}.stack>.console{flex-direction:column;flex:auto;display:flex}.stack>.console .screen{flex:1 1 0;height:auto;min-height:22em;max-height:40em}.tl{grid-template-columns:4.6em minmax(0,1fr);gap:.6em;padding:.15em 0;display:grid}.tl .who{color:var(--console-dim);text-transform:uppercase;letter-spacing:.05em;padding-top:.1em;font-size:max(14px,.86em)}.tl .what{overflow-wrap:anywhere;white-space:pre-line}.tl.tool .what,.tl.result .what{color:var(--console-dim)}.tl.guest .what{color:#fff}.tl.gate .what{color:var(--console-pen)}.tl.gate .what span{border:1.5px solid var(--console-pen);border-radius:999px;padding:0 .7em;display:inline-block}.tl.enter{animation:.32s cubic-bezier(.2,.7,.2,1) both lineIn}@keyframes lineIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.caret{background:var(--console-dim);vertical-align:-.15em;width:.55em;height:1em;animation:1s steps(2,end) infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.console-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6em;padding:.6em .2em 0;display:flex;container:trace-foot/inline-size}.controls{align-items:center;gap:.35em;display:flex}.cbtn{font:inherit;color:var(--console-ink);cursor:pointer;background:0 0;border:1px solid #ffffff29;border-radius:5px;min-width:40px;min-height:36px;padding:0 .6em;font-size:max(14px,.95em)}.cbtn:hover:not(:disabled){border-color:#ffffff73}.cbtn:disabled{opacity:.4;cursor:default}.step{color:var(--console-dim);text-align:center;min-width:4em;font-size:max(14px,.9em)}.console-note{color:var(--console-dim);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:max(14px,.85em);overflow:hidden}.note-short{display:none}@container trace-foot (width<=33ch){.note-long{display:none}.note-short{display:inline}}@media (width<=899px),(aspect-ratio<=11/10),(height<=500px){.book:before{background-image:linear-gradient(90deg, var(--cover-2) 0 4%, transparent 11%), repeating-linear-gradient(45deg, #ffffff06 0 2px, transparent 2px 5px);border-radius:10px;inset:-8px -8px -10px -10px}.book:after{box-shadow:none;background-color:var(--paper);background-image:repeating-linear-gradient(90deg, var(--edge) 0 1px, var(--paper) 1px 2px), repeating-linear-gradient(var(--edge) 0 1px, var(--paper) 1px 2px);background-position:100% 0,0 100%;background-repeat:no-repeat;background-size:5px 100%,100% 7px;border-radius:2px 6px 6px 2px;inset:2px -5px -7px 0}.overlay .book.closed:after,.overlay .book.closed.at-back:after,[data-cover] .main .book.closed:after{left:0;right:-5px}.overlay .book.closed:before,.overlay .book.closed.at-back:before,[data-cover] .main .book.closed:before{left:-10px;right:-8px}@media (width>=600px) and (height>=501px){.book:before{bottom:-12px;right:-12px}.book:after{background-size:7px 100%,100% 8px;bottom:-8px;right:-7px}.overlay .book.closed:after,.overlay .book.closed.at-back:after,[data-cover] .main .book.closed:after{right:-7px}.overlay .book.closed:before,.overlay .book.closed.at-back:before,[data-cover] .main .book.closed:before{right:-12px}}[data-cover] .main .book.closed{transform:none}.cover-layer,.cover-layer.back{width:100%;left:0}.main .cover-layer.front:after{top:-8px;bottom:-10px}.page.cover.back-cover{border-radius:2px 8px 8px 2px;box-shadow:inset 18px 0 22px -20px #00000080}.pages{grid-template-columns:1fr}.slot{grid-area:1/1}.book[data-side=left] .slot:nth-child(2),.book[data-side=right] .slot:first-child{visibility:hidden}.spine{background:linear-gradient(90deg,#00000061,#0000001a 70%,#0000);width:16px;top:-8px;bottom:-10px;left:-10px}.page.left,.page.right{border-radius:2px 8px 8px 2px;box-shadow:inset 12px 0 14px -10px #00000052}.page.left:not(.cover),.page.right:not(.cover){background-image:linear-gradient(90deg, #0000001a, #00000009 5%, #0000 11%), var(--grain), linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-position:0 0,0 0,-1px -1px,-1px -1px;background-size:100% 100%,180px 180px,1.6em 1.6em,1.6em 1.6em}.page.left .page-foot,.page.right .page-foot{padding-left:var(--ml);justify-content:flex-start}.page-foot .foot-label,.page-foot .pno{display:none}.page-foot .foot-phone{display:block}.margin,.book-theme{display:none}.page.with-theme .page-head,.page-head,.page-foot,.page.right .page-foot,.page-body{padding-right:6%}.corner{bottom:-4px}.corner.next{right:-4px}.corner.prev{left:-4px}.corner .ear,.corner.prev .ear{box-shadow:none}.corner .ear{background:linear-gradient(135deg, transparent 50%, var(--paper-2) 50%, var(--edge));filter:drop-shadow(-1px -1px 1.5px #00000038)}.corner.prev .ear{background:linear-gradient(225deg, transparent 50%, var(--paper-2) 50%, var(--edge));filter:drop-shadow(1px -1px 1.5px #00000038)}.close{top:-10px;right:-8px}.book-wrap,.overlay .book-wrap{--gap:6px;--or:8px;--ob:10px;padding:calc(max(var(--gap), env(safe-area-inset-top,0px)) + 8px) calc(max(var(--gap), env(safe-area-inset-right,0px)) + var(--or)) calc(max(var(--gap), env(safe-area-inset-bottom,0px)) + var(--ob)) calc(max(var(--gap), env(safe-area-inset-left,0px)) + 10px);gap:0}@media (width>=600px) and (height>=501px){.book-wrap,.overlay .book-wrap{--gap:12px;--or:12px;--ob:12px}}.desk{height:100svh}.overlay .book-wrap{width:100vw;height:100svh}@media (orientation:landscape) and (height<=500px){.book-wrap,.overlay .book-wrap{width:100%;max-width:560px;margin:0 auto}}.page{font-size:clamp(15px,min(2.05cqh,4.2cqi),18px)}.page,.page.with-margin{--ml:max(48px, 8cqi);--rule-x:max(36px, 6cqi)}.page-body{padding:.2em max(16px, 4cqi) .6em var(--ml)}.page-body:after{bottom:-.6em}.book-theme{display:block;top:4px;right:8px}.page-head,.page.with-theme .page-head{min-height:52px;padding:4px 60px 0 var(--ml);letter-spacing:.01em;text-transform:none;align-items:center;font-size:14px}.page-head>span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.overlay .book-theme{right:56px}.overlay .page-head,.overlay .page.with-theme .page-head{padding-right:108px}.overlay .close{top:4px;right:8px}.page-foot,.page.left .page-foot,.page.right .page-foot{letter-spacing:.02em;justify-content:center;align-items:center;min-height:64px;padding:0 60px;font-size:14px}.ribbon{z-index:2;cursor:pointer;background:var(--cover);width:28px;height:104px;color:var(--cover-ink);font-family:var(--f-mono);letter-spacing:.08em;writing-mode:vertical-rl;clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 8px),0 100%);border:none;border-radius:0;padding:0 0 10px;font-size:14px;display:block;position:absolute;top:0;left:4px;box-shadow:inset -3px 0 #0000002e}.overlay .ribbon{background:var(--tone,var(--cover))}.ribbon[aria-expanded=true]{z-index:3}.ribbon:after{content:"";position:absolute;inset:0 -8px 0 -4px}.ribbon:focus-visible{outline-offset:-4px;clip-path:none}.toc-panel{z-index:1;visibility:hidden;transition:visibility 0s linear .25s;display:block;position:absolute;inset:0}.toc-panel.open{visibility:visible;transition-delay:0s}.toc-scrim{background:color-mix(in srgb, var(--ink) 22%, transparent);opacity:0;transition:opacity .25s;position:absolute;inset:0}.toc-sheet{background-color:var(--paper);background-image:var(--grain), linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);width:min(78%,300px);color:var(--ink);background-size:180px 180px,1.6em 1.6em,1.6em 1.6em;border-radius:2px 8px 8px 2px;transition:transform .25s cubic-bezier(.2,.7,.2,1);position:absolute;top:0;bottom:0;left:0;transform:translate(-104%);box-shadow:12px 0 30px -12px #00000073}.toc-panel.open .toc-scrim{opacity:1}.toc-panel.open .toc-sheet{transform:none}.toc-sheet .margin{width:auto;height:100%;padding:12px 16px 16px 44px;font-size:17px;display:flex;position:static}.toc-sheet .mlink,.toc-sheet .lbl{font-size:14px}.toc-sheet .margin li a{font-size:1.2em}.toc-sheet .mback{font-size:15px}.page h1{font-size:2.2em}.page h2{font-size:1.5em}.stat .big{font-size:2.4em}.page .btn,.skillgrid dd{font-size:max(14px,.92em)}.page .small,.failcard p{font-size:max(14px,.88em)}figcaption,.arch .node span,.facts span:last-child{font-size:max(14px,.8em)}.statpage>.fig{max-height:none}.gainmini li{grid-template-columns:minmax(0,1fr) auto;gap:.2em .6em}.gainmini li>:first-child{grid-column:1/-1}@media (width>=600px) and (height>=501px){.page{font-size:clamp(14px,min(2.05cqh,3.1cqi),20px)}.gainmini li{grid-template-columns:9.6em minmax(0,1fr) auto;gap:.6em}.gainmini li>:first-child{grid-column:auto}}.console{min-width:0;max-width:100%}.console-head{flex-wrap:wrap}.stack>.console{flex:none}.stack>.console .screen{flex:none;height:22em;min-height:0;max-height:none}.requests{flex:none;height:calc(36px + .6em)}.req-arrow,.qx-arrow{display:none}.page-body>.stack:has(>.console){justify-content:center}.intro h1{margin:.6em 0 .5em}.intro .lede{margin-bottom:1.4em;line-height:1.65}.skillgrid{row-gap:1.1em;margin-top:1em}.certs{gap:1em;margin-top:1em}.certs li{padding-bottom:.9em}.contact>.lbl{display:none}.page-body>.contact{flex-direction:column;justify-content:center;min-height:100%;display:flex}}@media (width<=420px){.facts{grid-template-columns:minmax(min-content,1fr) repeat(2,minmax(0,1fr));gap:.6em}.facts .big{font-size:1.3em}.qsr{grid-template-columns:minmax(0,1fr);gap:.1em}.qsr dd{margin-bottom:.5em}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.js .mark path{stroke-dashoffset:0}}
/*$vite$:1*/