Something went wrong. Try again.
a new old personal site matmanna.dev
tailwind jekyll
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414*, ::before, ::after { --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness: proximity; --tw-gradient-from-position: ; --tw-gradient-via-position: ; --tw-gradient-to-position: ; --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; --tw-numeric-spacing: ; --tw-numeric-fraction: ; --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; --tw-blur: ; --tw-brightness: ; --tw-contrast: ; --tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-blur: ; --tw-backdrop-brightness: ; --tw-backdrop-contrast: ; --tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ; --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; --tw-contain-size: ; --tw-contain-layout: ; --tw-contain-paint: ; --tw-contain-style: ;}
::backdrop { --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness: proximity; --tw-gradient-from-position: ; --tw-gradient-via-position: ; --tw-gradient-to-position: ; --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; --tw-numeric-spacing: ; --tw-numeric-fraction: ; --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; --tw-blur: ; --tw-brightness: ; --tw-contrast: ; --tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-blur: ; --tw-backdrop-brightness: ; --tw-backdrop-contrast: ; --tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ; --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; --tw-contain-size: ; --tw-contain-layout: ; --tw-contain-paint: ; --tw-contain-style: ;}
/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/
/*1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)*/
*,::before,::after { box-sizing: border-box; /* 1 */ border-width: 0; /* 2 */ border-style: solid; /* 2 */ border-color: #e5e7eb; /* 2 */}
::before,::after { --tw-content: '';}
/*1. Use a consistent sensible line-height in all browsers.2. Prevent adjustments of font size after orientation changes in iOS.3. Use a more readable tab size.4. Use the user's configured `sans` font-family by default.5. Use the user's configured `sans` font-feature-settings by default.6. Use the user's configured `sans` font-variation-settings by default.7. Disable tap highlights on iOS*/
html,:host { line-height: 1.5; /* 1 */ -webkit-text-size-adjust: 100%; /* 2 */ -moz-tab-size: 4; /* 3 */ -o-tab-size: 4; tab-size: 4; /* 3 */ font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */ font-feature-settings: normal; /* 5 */ font-variation-settings: normal; /* 6 */ -webkit-tap-highlight-color: transparent; /* 7 */}
/*1. Remove the margin in all browsers.2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.*/
body { margin: 0; /* 1 */ line-height: inherit; /* 2 */}
/*1. Add the correct height in Firefox.2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)3. Ensure horizontal rules are visible by default.*/
hr { height: 0; /* 1 */ color: inherit; /* 2 */ border-top-width: 1px; /* 3 */}
/*Add the correct text decoration in Chrome, Edge, and Safari.*/
abbr:where([title]) { -webkit-text-decoration: underline dotted; text-decoration: underline dotted;}
/*Remove the default font size and weight for headings.*/
h1,h2,h3,h4,h5,h6 { font-size: inherit; font-weight: inherit;}
/*Reset links to optimize for opt-in styling instead of opt-out.*/
a { color: inherit; text-decoration: inherit;}
/*Add the correct font weight in Edge and Safari.*/
b,strong { font-weight: bolder;}
/*1. Use the user's configured `mono` font-family by default.2. Use the user's configured `mono` font-feature-settings by default.3. Use the user's configured `mono` font-variation-settings by default.4. Correct the odd `em` font sizing in all browsers.*/
code,kbd,samp,pre { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */ font-feature-settings: normal; /* 2 */ font-variation-settings: normal; /* 3 */ font-size: 1em; /* 4 */}
/*Add the correct font size in all browsers.*/
small { font-size: 80%;}
/*Prevent `sub` and `sup` elements from affecting the line height in all browsers.*/
sub,sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline;}
sub { bottom: -0.25em;}
sup { top: -0.5em;}
/*1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)3. Remove gaps between table borders by default.*/
table { text-indent: 0; /* 1 */ border-color: inherit; /* 2 */ border-collapse: collapse; /* 3 */}
/*1. Change the font styles in all browsers.2. Remove the margin in Firefox and Safari.3. Remove default padding in all browsers.*/
button,input,optgroup,select,textarea { font-family: inherit; /* 1 */ font-feature-settings: inherit; /* 1 */ font-variation-settings: inherit; /* 1 */ font-size: 100%; /* 1 */ font-weight: inherit; /* 1 */ line-height: inherit; /* 1 */ letter-spacing: inherit; /* 1 */ color: inherit; /* 1 */ margin: 0; /* 2 */ padding: 0; /* 3 */}
/*Remove the inheritance of text transform in Edge and Firefox.*/
button,select { text-transform: none;}
/*1. Correct the inability to style clickable types in iOS and Safari.2. Remove default button styles.*/
button,input:where([type='button']),input:where([type='reset']),input:where([type='submit']) { -webkit-appearance: button; /* 1 */ background-color: transparent; /* 2 */ background-image: none; /* 2 */}
/*Use the modern Firefox focus style for all focusable elements.*/
:-moz-focusring { outline: auto;}
/*Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)*/
:-moz-ui-invalid { box-shadow: none;}
/*Add the correct vertical alignment in Chrome and Firefox.*/
progress { vertical-align: baseline;}
/*Correct the cursor style of increment and decrement buttons in Safari.*/
::-webkit-inner-spin-button,::-webkit-outer-spin-button { height: auto;}
/*1. Correct the odd appearance in Chrome and Safari.2. Correct the outline style in Safari.*/
[type='search'] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */}
/*Remove the inner padding in Chrome and Safari on macOS.*/
::-webkit-search-decoration { -webkit-appearance: none;}
/*1. Correct the inability to style clickable types in iOS and Safari.2. Change font properties to `inherit` in Safari.*/
::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */}
/*Add the correct display in Chrome and Safari.*/
summary { display: list-item;}
/*Removes the default spacing and border for appropriate elements.*/
blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre { margin: 0;}
fieldset { margin: 0; padding: 0;}
legend { padding: 0;}
ol,ul,menu { list-style: none; margin: 0; padding: 0;}
/*Reset default styling for dialogs.*/
dialog { padding: 0;}
/*Prevent resizing textareas horizontally by default.*/
textarea { resize: vertical;}
/*1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)2. Set the default placeholder color to the user's configured gray 400 color.*/
input::-moz-placeholder, textarea::-moz-placeholder { opacity: 1; /* 1 */ color: #9ca3af; /* 2 */}
input::placeholder,textarea::placeholder { opacity: 1; /* 1 */ color: #9ca3af; /* 2 */}
/*Set the default cursor for buttons.*/
button,[role="button"] { cursor: pointer;}
/*Make sure disabled buttons don't get the pointer cursor.*/
:disabled { cursor: default;}
/*1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210) This can trigger a poorly considered lint error in some tools but is included by design.*/
img,svg,video,canvas,audio,iframe,embed,object { display: block; /* 1 */ vertical-align: middle; /* 2 */}
/*Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)*/
img,video { max-width: 100%; height: auto;}
/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) { display: none;}
.container { width: 100%;}
@media (min-width: 640px) { .container { max-width: 640px; }}
@media (min-width: 768px) { .container { max-width: 768px; }}
@media (min-width: 1024px) { .container { max-width: 1024px; }}
@media (min-width: 1280px) { .container { max-width: 1280px; }}
@media (min-width: 1536px) { .container { max-width: 1536px; }}
a { --tw-text-opacity: 1; color: rgb(154 52 18 / var(--tw-text-opacity, 1)); text-decoration-line: underline; text-decoration-style: dotted;}
.dark a { --tw-text-opacity: 1; color: rgb(251 146 60 / var(--tw-text-opacity, 1));}
h1 { font-family: sans-serif}
a[href^="http://"]:not(.no-external-icon):not([data-no-external-icon]):after, a[href^="https://"]:not(.no-external-icon):not([data-no-external-icon]):after { content: "\f08e"; font-family: FontAwesome; font-weight: normal; font-style: normal; display: inline-block; margin-left: 3px; text-decoration: none; padding-left: 3px;}
body { text-underline-offset: 4px; counter-reset: sidenote-counter;}
small { display: none;}
@media (min-width: 1024px) { small { display: block; }}
small { margin-right: -35%; counter-increment: sidenote-counter; float: right; clear: right; width: 40%; margin-top: 1em; margin-bottom: 1em; font-size: 1.0rem; line-height: 1.3; vertical-align: baseline; position: relative; padding: 1em; border-top: 1px dotted #CCCCCC; border-bottom: 1px dotted #CCCCCC;}
@media (min-width: 1280px) { small { margin-right: -50%; }}
small::before { margin-right: 0.5rem; margin-top: 0.25rem; height: 2rem; width: 2rem; align-items: center; border-radius: 9999px; --tw-border-opacity: 1; border-color: rgb(249 115 22 / var(--tw-border-opacity, 1)); padding: 0.25rem; text-align: center; content: counter(sidenote-counter); float: left; border-style: solid; border-width: 2px;}
strong { font-weight: 700; text-transform: uppercase;}
hr { margin-top: 1rem; margin-bottom: 1rem;}
.prose>h2, .prose>h3 { gap: 8px; display: flex;}
li::marker { --tw-text-opacity: 1 !important; color: rgb(249 115 22 / var(--tw-text-opacity, 1)) !important;}
.task-list-item-checkbox { margin-right: 8px;}
.visible { visibility: visible;}
.collapse { visibility: collapse;}
.static { position: static;}
.fixed { position: fixed;}
.absolute { position: absolute;}
.relative { position: relative;}
.right-0 { right: 0px;}
.top-0 { top: 0px;}
.z-10 { z-index: 10;}
.my-0 { margin-top: 0px; margin-bottom: 0px;}
.my-4 { margin-top: 1rem; margin-bottom: 1rem;}
.my-8 { margin-top: 2rem; margin-bottom: 2rem;}
.mb-2 { margin-bottom: 0.5rem;}
.mb-4 { margin-bottom: 1rem;}
.ml-3 { margin-left: 0.75rem;}
.mr-1 { margin-right: 0.25rem;}
.mr-2 { margin-right: 0.5rem;}
.mt-0 { margin-top: 0px;}
.mt-1 { margin-top: 0.25rem;}
.mt-3 { margin-top: 0.75rem;}
.mt-4 { margin-top: 1rem;}
.mt-8 { margin-top: 2rem;}
.block { display: block;}
.inline-block { display: inline-block;}
.inline { display: inline;}
.flex { display: flex;}
.table { display: table;}
.grid { display: grid;}
.contents { display: contents;}
.hidden { display: none;}
.h-24 { height: 6rem;}
.h-3 { height: 0.75rem;}
.h-36 { height: 9rem;}
.h-4 { height: 1rem;}
.h-6 { height: 1.5rem;}
.h-fit { height: -moz-fit-content; height: fit-content;}
.h-full { height: 100%;}
.w-3 { width: 0.75rem;}
.w-36 { width: 9rem;}
.w-4 { width: 1rem;}
.w-40 { width: 10rem;}
.w-6 { width: 1.5rem;}
.w-full { width: 100%;}
.min-w-0 { min-width: 0px;}
.min-w-36 { min-width: 9rem;}
.\!max-w-\[85ch\] { max-width: 85ch !important;}
.max-w-\[85ch\] { max-width: 85ch;}
.flex-1 { flex: 1 1 0%;}
.flex-shrink { flex-shrink: 1;}
.grow { flex-grow: 1;}
.-translate-y-4 { --tw-translate-y: -1rem; transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));}
.transform { transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));}
.resize { resize: both;}
.flex-row { flex-direction: row;}
.flex-col { flex-direction: column;}
.flex-wrap { flex-wrap: wrap;}
.content-center { align-content: center;}
.items-end { align-items: flex-end;}
.items-center { align-items: center;}
.items-stretch { align-items: stretch;}
.justify-center { justify-content: center;}
.gap-1 { gap: 0.25rem;}
.gap-2 { gap: 0.5rem;}
.gap-3 { gap: 0.75rem;}
.gap-4 { gap: 1rem;}
.space-y-5 > :not([hidden]) ~ :not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse))); margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));}
.self-center { align-self: center;}
.overflow-hidden { overflow: hidden;}
.truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.rounded { border-radius: 0.25rem;}
.rounded-full { border-radius: 9999px;}
.rounded-md { border-radius: 0.375rem;}
.rounded-t-md { border-top-left-radius: 0.375rem; border-top-right-radius: 0.375rem;}
.border { border-width: 1px;}
.border-0 { border-width: 0px;}
.border-t-\[6px\] { border-top-width: 6px;}
.border-solid { border-style: solid;}
.border-dotted { border-style: dotted;}
.border-primary-500 { --tw-border-opacity: 1; border-color: rgb(249 115 22 / var(--tw-border-opacity, 1));}
.border-primary-500\/40 { border-color: rgb(249 115 22 / 0.4);}
.bg-primary-100 { --tw-bg-opacity: 1; background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1));}
.bg-primary-200 { --tw-bg-opacity: 1; background-color: rgb(254 215 170 / var(--tw-bg-opacity, 1));}
.bg-primary-300 { --tw-bg-opacity: 1; background-color: rgb(253 186 116 / var(--tw-bg-opacity, 1));}
.bg-primary-500 { --tw-bg-opacity: 1; background-color: rgb(249 115 22 / var(--tw-bg-opacity, 1));}
.bg-white { --tw-bg-opacity: 1; background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));}
.object-cover { -o-object-fit: cover; object-fit: cover;}
.p-0 { padding: 0px;}
.p-2 { padding: 0.5rem;}
.p-4 { padding: 1rem;}
.px-0 { padding-left: 0px; padding-right: 0px;}
.px-2 { padding-left: 0.5rem; padding-right: 0.5rem;}
.px-3 { padding-left: 0.75rem; padding-right: 0.75rem;}
.px-4 { padding-left: 1rem; padding-right: 1rem;}
.py-1 { padding-top: 0.25rem; padding-bottom: 0.25rem;}
.py-1\.5 { padding-top: 0.375rem; padding-bottom: 0.375rem;}
.py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem;}
.py-4 { padding-top: 1rem; padding-bottom: 1rem;}
.py-6 { padding-top: 1.5rem; padding-bottom: 1.5rem;}
.pt-0 { padding-top: 0px;}
.pt-3 { padding-top: 0.75rem;}
.pt-8 { padding-top: 2rem;}
.text-\[11px\] { font-size: 11px;}
.text-sm { font-size: 0.875rem; line-height: 1.25rem;}
.text-xs { font-size: 0.75rem; line-height: 1rem;}
.font-bold { font-weight: 700;}
.uppercase { text-transform: uppercase;}
.lowercase { text-transform: lowercase;}
.italic { font-style: italic;}
.leading-tight { line-height: 1.25;}
.text-primary-200 { --tw-text-opacity: 1; color: rgb(254 215 170 / var(--tw-text-opacity, 1));}
.text-primary-500 { --tw-text-opacity: 1; color: rgb(249 115 22 / var(--tw-text-opacity, 1));}
.text-primary-600 { --tw-text-opacity: 1; color: rgb(234 88 12 / var(--tw-text-opacity, 1));}
.text-primary-700 { --tw-text-opacity: 1; color: rgb(194 65 12 / var(--tw-text-opacity, 1));}
.text-primary-800 { --tw-text-opacity: 1; color: rgb(154 52 18 / var(--tw-text-opacity, 1));}
.no-underline { text-decoration-line: none;}
.opacity-0 { opacity: 0;}
.shadow-lg { --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);}
.outline-primary-200 { outline-color: #fed7aa;}
.ring { --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color); box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);}
.blur-sm { --tw-blur: blur(4px); filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);}
.filter { filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);}
.transition { transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms;}
.transition-all { transition-property: all; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms;}
.transition-colors { transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms;}
.duration-100 { transition-duration: 100ms;}
.ease-in-out { transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);}
input.task-list-item-checkbox { margin-right: 8px !important;}
.toc-link { display: flex; align-items: center; gap: .5rem;}
.toc-bullet { display: inline-flex; width: 1.25rem; left: -23px; height: 1.25rem; align-items: center; justify-content: center;}
.toc-ring-svg { width: 0.7rem; height: 0.7rem;}
.toc-ring-bg { stroke: rgba(0, 0, 0, 0.08);}
.dark .toc-ring-bg { stroke: rgba(255, 255, 255, 0.06);}
.toc-ring { stroke: rgba(0, 0, 0, 0.5); stroke-dasharray: 50; stroke-dashoffset: 50;}
.dark .toc-ring { stroke: rgba(255, 255, 255, 0.9);}
.toc-link-text { display: inline;}
.toc-fixed .toc-bullet { display: none !important;}
.content strong { text-transform: none !important;}
@media (min-width: 170ch) { .projects-width-breakout { --projects-breakout-width: min(170ch, calc(100vw - 2rem)); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: var(--projects-breakout-width); max-width: none; margin-left: calc((80ch - var(--projects-breakout-width)) / 2); margin-right: calc((80ch - var(--projects-breakout-width)) / 2); }}
.\[keywords\:node-addon-api\] { keywords: node-addon-api;}
.hover\:underline:hover { text-decoration-line: underline;}
@media (min-width: 640px) { .sm\:flex-row { flex-direction: row; }}
@media (min-width: 768px) { .md\:h-24 { height: 6rem; }
.md\:w-36 { width: 9rem; }
.md\:min-w-36 { min-width: 9rem; }
.md\:items-center { align-items: center; }}
@media (min-width: 1024px) { .lg\:h-36 { height: 9rem; }
.lg\:w-48 { width: 12rem; }
.lg\:min-w-44 { min-width: 11rem; }
.lg\:items-center { align-items: center; }}
@media (prefers-color-scheme: dark) { .dark\:border-none { border-style: none; }
.dark\:bg-primary-800 { --tw-bg-opacity: 1; background-color: rgb(154 52 18 / var(--tw-bg-opacity, 1)); }
.dark\:bg-primary-900 { --tw-bg-opacity: 1; background-color: rgb(124 45 18 / var(--tw-bg-opacity, 1)); }
.dark\:bg-primary-950 { --tw-bg-opacity: 1; background-color: rgb(67 20 7 / var(--tw-bg-opacity, 1)); }
.dark\:text-primary-200 { --tw-text-opacity: 1; color: rgb(254 215 170 / var(--tw-text-opacity, 1)); }
.dark\:text-primary-300 { --tw-text-opacity: 1; color: rgb(253 186 116 / var(--tw-text-opacity, 1)); }
.dark\:text-primary-400 { --tw-text-opacity: 1; color: rgb(251 146 60 / var(--tw-text-opacity, 1)); }
.dark\:text-primary-600 { --tw-text-opacity: 1; color: rgb(234 88 12 / var(--tw-text-opacity, 1)); }
.dark\:text-primary-700 { --tw-text-opacity: 1; color: rgb(194 65 12 / var(--tw-text-opacity, 1)); }
.dark\:outline-primary-900 { outline-color: #7c2d12; }}