@import "https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600&family=Syne:wght@600;700;800&display=swap";.skill-grid{grid-template-columns:1fr;gap:1rem;margin:0;padding:0;list-style:none;display:grid}.skill-card{border:1px solid var(--line);background:#1a24208c;border-radius:.35rem;flex-direction:column;gap:.45rem;padding:1.15rem 1.2rem;transition:border-color .2s,background .2s,transform .2s;display:flex}.skill-card:hover{background:#24302ba6;border-color:#d4a15a73;transform:translateY(-2px)}.skill-card-link{color:inherit;flex-direction:column;flex:1;gap:.45rem;text-decoration:none;display:flex}.skill-card-link:hover{color:inherit}.skill-card-link:hover .skill-card-title{color:var(--accent)}.skill-card-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.skill-card-date{font-size:var(--text-meta);letter-spacing:var(--tracking-meta);text-transform:uppercase;color:var(--accent);font-weight:600}.skill-card-title{font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--text-item);letter-spacing:var(--tracking-title);line-height:1.25}.skill-card-summary{color:var(--ink-muted);font-size:var(--text-summary);flex:1;margin:0;line-height:1.45}.skill-card .tag-list,.skill-card .tag-list.compact{margin-top:.35rem}.project-links{flex-wrap:wrap;gap:.75rem;margin:1.5rem 0 2rem;display:flex}.project-notes h2{font-family:var(--font-display);font-weight:var(--weight-display);letter-spacing:var(--tracking-title);font-size:var(--text-subhead);margin:0 0 .75rem}.project-detail .outcome{color:var(--ink)!important}.project-detail .detail-summary{margin:.5rem 0 0}.markdown-body{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;color:#f0f6fc;word-wrap:break-word;background-color:#0d1117;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;font-size:16px;font-weight:400;line-height:1.5}.markdown-body a{text-underline-offset:.2rem;text-decoration:underline}.markdown-body .octicon{fill:currentColor;vertical-align:text-bottom;display:inline-block}.markdown-body h1:hover .anchor .octicon-link:before,.markdown-body h2:hover .anchor .octicon-link:before,.markdown-body h3:hover .anchor .octicon-link:before,.markdown-body h4:hover .anchor .octicon-link:before,.markdown-body h5:hover .anchor .octicon-link:before,.markdown-body h6:hover .anchor .octicon-link:before{content:" ";background-color:currentColor;width:16px;height:16px;display:inline-block;-webkit-mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>");mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>")}.markdown-body details,.markdown-body figcaption,.markdown-body figure{display:block}.markdown-body summary{display:list-item}.markdown-body [hidden]{display:none!important}.markdown-body a{color:#4493f8;background-color:#0000;text-decoration:none}.markdown-body abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.markdown-body b,.markdown-body strong{font-weight:600}.markdown-body dfn{font-style:italic}.markdown-body h1{border-bottom:1px solid #3d444db3;margin:.67em 0;padding-bottom:.3em;font-size:2em;font-weight:600}.markdown-body mark{color:#f0f6fc;background-color:#bb800926}.markdown-body small{font-size:90%}.markdown-body sub,.markdown-body sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}.markdown-body sub{bottom:-.25em}.markdown-body sup{top:-.5em}.markdown-body img{box-sizing:content-box;border-style:none;max-width:100%}.markdown-body code,.markdown-body kbd,.markdown-body pre,.markdown-body samp{font-family:monospace;font-size:1em}.markdown-body figure{margin:1em 2.5rem}.markdown-body hr{box-sizing:content-box;background:#3d444d;border:0;height:.25em;margin:1.5rem 0;padding:0;overflow:hidden}.markdown-body input{font:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible}.markdown-body [type=button],.markdown-body [type=reset],.markdown-body [type=submit]{appearance:button}.markdown-body [type=checkbox],.markdown-body [type=radio]{box-sizing:border-box;padding:0}.markdown-body [type=number]::-webkit-inner-spin-button{height:auto}.markdown-body [type=number]::-webkit-outer-spin-button{height:auto}.markdown-body [type=search]::-webkit-search-cancel-button{appearance:none}.markdown-body [type=search]::-webkit-search-decoration{appearance:none}.markdown-body ::-webkit-input-placeholder{color:inherit;opacity:.54}.markdown-body ::-webkit-file-upload-button{appearance:button;font:inherit}.markdown-body a:hover{text-decoration:underline}.markdown-body ::placeholder{color:#9198a1;opacity:1}.markdown-body hr:before{content:"";display:table}.markdown-body hr:after{clear:both;content:"";display:table}.markdown-body table{border-spacing:0;border-collapse:collapse;font-variant:tabular-nums;width:max-content;max-width:100%;display:block;overflow:auto}.markdown-body td,.markdown-body th{padding:0}.markdown-body details summary{cursor:pointer}.markdown-body a:focus,.markdown-body [role=button]:focus,.markdown-body input[type=radio]:focus,.markdown-body input[type=checkbox]:focus{outline:2px solid var(--borderColor-accent-emphasis);outline-offset:-2px;box-shadow:none}.markdown-body a:focus:not(:focus-visible),.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body input[type=radio]:focus:not(:focus-visible),.markdown-body input[type=checkbox]:focus:not(:focus-visible){outline:1px solid #0000}.markdown-body a:focus-visible,.markdown-body [role=button]:focus-visible,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus-visible{outline:2px solid var(--borderColor-accent-emphasis);outline-offset:-2px;box-shadow:none}.markdown-body a:not([class]):focus,.markdown-body a:not([class]):focus-visible,.markdown-body input[type=radio]:focus,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus,.markdown-body input[type=checkbox]:focus-visible{outline-offset:0}.markdown-body kbd{color:#f0f6fc;vertical-align:middle;border:solid 1px var(--borderColor-muted);border-bottom-color:var(--borderColor-muted);box-shadow:inset 0 -1px 0 var(--borderColor-muted);background-color:#151b23;border-radius:6px;padding:.25rem;font:11px/10px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;display:inline-block}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:1.5rem;margin-bottom:1rem;font-weight:600;line-height:1.25}.markdown-body h2{border-bottom:1px solid #3d444db3;padding-bottom:.3em;font-size:1.5em;font-weight:600}.markdown-body h3{font-size:1.25em;font-weight:600}.markdown-body h4{font-size:1em;font-weight:600}.markdown-body h5{font-size:.875em;font-weight:600}.markdown-body h6{color:#9198a1;font-size:.85em;font-weight:600}.markdown-body p{margin-top:0;margin-bottom:10px}.markdown-body blockquote{color:#9198a1;border-left:.25em solid #3d444d;margin:0;padding:0 1em}.markdown-body ul,.markdown-body ol{margin-top:0;margin-bottom:0;padding-left:2em}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ul ul ol,.markdown-body ul ol ol,.markdown-body ol ul ol,.markdown-body ol ol ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body tt,.markdown-body code,.markdown-body samp{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.markdown-body pre{word-wrap:normal;margin-top:0;margin-bottom:0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.markdown-body .octicon{vertical-align:text-bottom;fill:currentColor;display:inline-block;overflow:visible!important}.markdown-body input::-webkit-outer-spin-button{appearance:none;margin:0}.markdown-body input::-webkit-inner-spin-button{appearance:none;margin:0}.markdown-body .mr-2{margin-right:.5rem!important}.markdown-body:before{content:"";display:table}.markdown-body:after{clear:both;content:"";display:table}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:#f85149}.markdown-body .anchor{float:left;margin-left:-20px;padding-right:.25rem;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre,.markdown-body details{margin-top:0;margin-bottom:1rem}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#f0f6fc;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{font-size:inherit;padding:0 .2em}.markdown-body summary h1,.markdown-body summary h2,.markdown-body summary h3,.markdown-body summary h4,.markdown-body summary h5,.markdown-body summary h6{display:inline-block}.markdown-body summary h1 .anchor,.markdown-body summary h2 .anchor,.markdown-body summary h3 .anchor,.markdown-body summary h4 .anchor,.markdown-body summary h5 .anchor,.markdown-body summary h6 .anchor{margin-left:-40px}.markdown-body summary h1,.markdown-body summary h2{border-bottom:0;padding-bottom:0}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ol[type=a\ s]{list-style-type:lower-alpha}.markdown-body ol[type=A\ s]{list-style-type:upper-alpha}.markdown-body ol[type=i\ s]{list-style-type:lower-roman}.markdown-body ol[type=I\ s]{list-style-type:upper-roman}.markdown-body ol[type="1"],.markdown-body div>ol:not([type]){list-style-type:decimal}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:1rem}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{margin-top:1rem;padding:0;font-size:1em;font-style:italic;font-weight:600}.markdown-body dl dd{margin-bottom:1rem;padding:0 1rem}.markdown-body table th{font-weight:600}.markdown-body table th,.markdown-body table td{border:1px solid #3d444d;padding:6px 13px}.markdown-body table td>:last-child{margin-bottom:0}.markdown-body table tr{background-color:#0d1117;border-top:1px solid #3d444db3}.markdown-body table img{background-color:#0000}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{vertical-align:text-top;background-color:#0000;max-width:none}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{float:left;border:1px solid #3d444d;width:auto;margin:13px 0 0;padding:7px;display:block;overflow:hidden}.markdown-body span.frame span img{float:left;display:block}.markdown-body span.frame span span{clear:both;color:#f0f6fc;padding:5px 0 0;display:block}.markdown-body span.align-center{clear:both;display:block;overflow:hidden}.markdown-body span.align-center>span{text-align:center;margin:13px auto 0;display:block;overflow:hidden}.markdown-body span.align-center span img{text-align:center;margin:0 auto}.markdown-body span.align-right{clear:both;display:block;overflow:hidden}.markdown-body span.align-right>span{text-align:right;margin:13px 0 0;display:block;overflow:hidden}.markdown-body span.align-right span img{text-align:right;margin:0}.markdown-body span.float-left{float:left;margin-right:13px;display:block;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{float:right;margin-left:13px;display:block;overflow:hidden}.markdown-body span.float-right>span{text-align:right;margin:13px auto 0;display:block;overflow:hidden}.markdown-body code,.markdown-body tt{white-space:break-spaces;background-color:#656c7633;border-radius:6px;margin:0;padding:.2em .4em;font-size:85%}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{-webkit-text-decoration:inherit;text-decoration:inherit}.markdown-body samp{font-size:85%}.markdown-body pre code{font-size:100%}.markdown-body pre>code{word-break:normal;white-space:pre;background:0 0;border:0;margin:0;padding:0}.markdown-body .highlight{margin-bottom:1rem}.markdown-body .highlight pre{word-break:normal;margin-bottom:0}.markdown-body .highlight pre,.markdown-body pre{color:#f0f6fc;background-color:#151b23;border-radius:6px;padding:1rem;font-size:85%;line-height:1.45;overflow:auto}.markdown-body pre code,.markdown-body pre tt{line-height:inherit;word-wrap:normal;background-color:#0000;border:0;margin:0;padding:0;display:inline;overflow:visible}.markdown-body .csv-data td,.markdown-body .csv-data th{text-align:left;white-space:nowrap;padding:5px;font-size:12px;line-height:1;overflow:hidden}.markdown-body .csv-data .blob-num{text-align:right;background:#0d1117;border:0;padding:10px .5rem 9px}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{background:#151b23;border-top:0;font-weight:600}.markdown-body [data-footnote-ref]:before{content:"["}.markdown-body [data-footnote-ref]:after{content:"]"}.markdown-body .footnotes{color:#9198a1;border-top:1px solid #3d444d;font-size:12px}.markdown-body .footnotes ol{padding-left:1rem}.markdown-body .footnotes ol ul{margin-top:1rem;padding-left:1rem;display:inline-block}.markdown-body .footnotes li{position:relative}.markdown-body .footnotes li:target:before{pointer-events:none;content:"";border:2px solid #1f6feb;border-radius:6px;position:absolute;inset:-.5rem -.5rem -.5rem -1.5rem}.markdown-body .footnotes li:target{color:#f0f6fc}.markdown-body .footnotes .data-footnote-backref g-emoji{font-family:monospace}.markdown-body .pl-c{color:#9198a1}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:#79c0ff}.markdown-body .pl-e,.markdown-body .pl-en{color:#d2a8ff}.markdown-body .pl-smi,.markdown-body .pl-s .pl-s1{color:#f0f6fc}.markdown-body .pl-ent{color:#7ee787}.markdown-body .pl-k{color:#ff7b72}.markdown-body .pl-s,.markdown-body .pl-pds,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sre,.markdown-body .pl-sr .pl-sra{color:#a5d6ff}.markdown-body .pl-v,.markdown-body .pl-smw{color:#ffa657}.markdown-body .pl-bu{color:#f85149}.markdown-body .pl-ii{color:var(--fgColor-danger);background-color:var(--bgColor-danger-muted)}.markdown-body .pl-c2{color:#f0f6fc;background-color:#b62324}.markdown-body .pl-sr .pl-cce{color:#7ee787;font-weight:700}.markdown-body .pl-ml{color:#f2cc60}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{color:#1f6feb;font-weight:700}.markdown-body .pl-mi{color:#f0f6fc;font-style:italic}.markdown-body .pl-mb{color:#f0f6fc;font-weight:700}.markdown-body .pl-md{color:#ffdcd7;background-color:#67060c}.markdown-body .pl-mi1{color:#aff5b4;background-color:#033a16}.markdown-body .pl-mc{color:#ffdfb6;background-color:#5a1e02}.markdown-body .pl-mi2{color:#f0f6fc;background-color:#1158c7}.markdown-body .pl-mdr{color:#d2a8ff;font-weight:700}.markdown-body .pl-ba{color:#9198a1}.markdown-body .pl-sg{color:#3d444d}.markdown-body .pl-corl{color:#a5d6ff;text-decoration:underline}.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body [role=tabpanel][tabindex="0"]:focus:not(:focus-visible),.markdown-body button:focus:not(:focus-visible),.markdown-body summary:focus:not(:focus-visible),.markdown-body a:focus:not(:focus-visible){box-shadow:none;outline:none}.markdown-body [tabindex="0"]:focus:not(:focus-visible),.markdown-body details-dialog:focus:not(:focus-visible){outline:none}.markdown-body g-emoji{vertical-align:-.075em;min-width:1ch;font-family:Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:1em;font-weight:400;line-height:1;display:inline-block;font-style:normal!important}.markdown-body g-emoji img{width:1em;height:1em}.markdown-body a:has(>p,>div,>pre,>blockquote){display:block}.markdown-body a:has(>p,>div,>pre,>blockquote):not(:has(.snippet-clipboard-content,>pre)){width:fit-content}.markdown-body a:has(>p,>div,>pre,>blockquote):has(.snippet-clipboard-content,>pre):focus-visible{outline:2px solid var(--borderColor-accent-emphasis);outline-offset:2px}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item label{font-weight:400}.markdown-body .task-list-item.enabled label{cursor:pointer}.markdown-body .task-list-item+.task-list-item{margin-top:.25rem}.markdown-body .task-list-item .handle{display:none}.markdown-body .task-list-item-checkbox{vertical-align:middle;margin:0 .2em .25em -1.4em}.markdown-body ul:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .task-list-item-checkbox,.markdown-body ol:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body .contains-task-list:hover .task-list-item-convert-container,.markdown-body .contains-task-list:focus-within .task-list-item-convert-container{clip-path:none;width:auto;height:24px;display:block;overflow:visible}.markdown-body ::-webkit-calendar-picker-indicator{filter:invert(50%)}.markdown-body .markdown-alert{color:inherit;border-left:.25em solid #3d444d;margin-bottom:1rem;padding:.5rem 1rem}.markdown-body .markdown-alert>:first-child{margin-top:0}.markdown-body .markdown-alert>:last-child{margin-bottom:0}.markdown-body .markdown-alert .markdown-alert-title{align-items:center;font-weight:500;line-height:1;display:flex}.markdown-body .markdown-alert.markdown-alert-note{border-left-color:#1f6feb}.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title{color:#4493f8}.markdown-body .markdown-alert.markdown-alert-important{border-left-color:#8957e5}.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title{color:#ab7df8}.markdown-body .markdown-alert.markdown-alert-warning{border-left-color:#9e6a03}.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title{color:#d29922}.markdown-body .markdown-alert.markdown-alert-tip{border-left-color:#238636}.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title{color:#3fb950}.markdown-body .markdown-alert.markdown-alert-caution{border-left-color:#da3633}.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title{color:#f85149}.markdown-body>:first-child>.heading-element:first-child{margin-top:0!important}.markdown-body .highlight pre:has(+.zeroclipboard-container){min-height:52px}:root{--bg-deep:#0f1412;--bg-mid:#1a2420;--bg-lift:#24302b;--ink:#e8efe9;--ink-muted:#9aada1;--accent:#d4a15a;--accent-soft:#d4a15a29;--line:#e8efe91f;--danger:#e07a5f;--font-display:"Syne", sans-serif;--font-body:"Figtree", sans-serif;--weight-display:600;--tracking-display:-.03em;--tracking-title:-.02em;--tracking-meta:.08em;--text-hero:clamp(2rem, 6vw, 3.25rem);--text-page:clamp(1.75rem, 4vw, 2.25rem);--text-detail:clamp(1.85rem, 4.5vw, 2.5rem);--text-section:1.35rem;--text-subhead:1.1rem;--text-item:1.2rem;--text-lede:1.05rem;--text-summary:.98rem;--text-meta:.75rem;--text-nav:.95rem;--max:56rem;--wide:56rem;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--font-body);color:var(--ink);background:radial-gradient(1200px 600px at 10% -10%, #d4a15a24, transparent 55%), radial-gradient(900px 500px at 90% 0%, #5a8c781f, transparent 50%), linear-gradient(180deg, var(--bg-mid) 0%, var(--bg-deep) 45%, #0b100e 100%);-webkit-font-smoothing:antialiased;background-attachment:fixed;margin:0;line-height:1.6}a{color:var(--accent);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:#e8c07a}:focus-visible,.btn:focus-visible,.nav-link:focus-visible,.brand:focus-visible,.explore-card:focus-visible,.item-title:focus-visible,.text-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.site-shell{flex-direction:column;min-height:100vh;padding:1.25rem 1.25rem 3rem;display:flex}@media (width>=768px){.site-shell{padding:2rem 2.5rem 4rem}}.site-header{width:min(100%, var(--wide));justify-content:space-between;align-items:center;gap:1rem;margin:0 auto 2.5rem;animation:.7s both rise;display:flex}.brand{color:var(--ink);align-items:center;line-height:0;text-decoration:none;display:inline-flex}.brand:hover{color:var(--accent)}.brand-logo{width:2.125rem;height:2.125rem;transition:color .2s,transform .2s}.brand:hover .brand-logo{transform:translateY(-1px)}.brand:hover .logo-focus{filter:brightness(1.08)}.site-nav{align-items:center;gap:.85rem 1.25rem;display:flex}.nav-link{color:var(--ink-muted);font-weight:500;font-size:var(--text-nav);text-decoration:none}.nav-link:hover,.nav-link.active{color:var(--ink)}.site-main{width:min(100%, var(--wide));flex:1;margin:0 auto;animation:.85s 80ms both rise}.site-footer{width:min(100%, var(--wide));border-top:1px solid var(--line);color:var(--ink-muted);flex-direction:column;gap:1.15rem;margin:4rem auto 0;padding-top:1.5rem;font-size:.9rem;animation:1s .12s both rise;display:flex}.footer-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem 1.5rem;display:flex}.footer-copy{flex-direction:column;gap:.75rem;max-width:28rem;display:flex}.footer-logo{color:var(--ink-muted);width:fit-content;line-height:0;text-decoration:none;display:inline-flex}.footer-logo:hover{color:var(--accent)}.footer-logo-mark{width:1.5rem;height:1.5rem}.footer-copy p{margin:0}.footer-explore{flex-wrap:wrap;gap:.65rem 1.1rem;display:flex}.footer-explore a{color:var(--ink-muted);font-size:var(--text-nav);font-weight:500;text-decoration:none}.footer-explore a:hover{color:var(--accent)}.social-list{flex-wrap:wrap;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.hero{border-bottom:1px solid var(--line);flex-direction:column;justify-content:flex-end;min-height:min(72vh,34rem);margin-bottom:2.5rem;padding:2rem 0 3rem;display:flex;position:relative}.hero:before{content:"";background:radial-gradient(circle, var(--accent-soft), transparent 70%);pointer-events:none;border-radius:50%;width:min(48vw,18rem);height:min(48vw,18rem);animation:8s ease-in-out infinite pulse;position:absolute;inset:10% auto auto 0}.hero-role,.type-label,.explore-meta,.read-next-label,.tag-list li{font-size:var(--text-meta);letter-spacing:var(--tracking-meta);text-transform:uppercase;font-weight:600}.hero-role{color:var(--accent);margin:0 0 .85rem;position:relative}.hero-headline{font-family:var(--font-display);font-size:var(--text-hero);font-weight:var(--weight-display);letter-spacing:var(--tracking-display);max-width:18ch;margin:0 0 1.75rem;line-height:1.15;position:relative}.hero-cta{flex-wrap:wrap;gap:.75rem;display:flex;position:relative}.btn{border:1px solid #0000;border-radius:.35rem;justify-content:center;align-items:center;padding:.7rem 1.15rem;font-weight:600;text-decoration:none;transition:transform .15s,background .15s,border-color .15s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--accent);color:#1a140c}.btn.primary:hover{color:#1a140c;background:#e8c07a}.btn.ghost{border-color:var(--line);color:var(--ink);background:0 0}.btn.ghost:hover{border-color:var(--accent);color:var(--accent)}.home-about,.home-featured,.home-explore{max-width:var(--wide);margin-bottom:2.75rem}.home-about h2,.home-featured h2,.home-explore h2,.about-contact h2,.section-header h1,.detail h1,.not-found h1,.about-page h1{font-family:var(--font-display);font-weight:var(--weight-display);letter-spacing:var(--tracking-display);margin:0 0 .5rem}.section-header h1,.not-found h1,.about-page h1{font-size:var(--text-page);line-height:1.15}.detail h1{font-size:var(--text-detail);line-height:1.1}.home-about h2,.home-featured h2,.home-explore h2{font-size:var(--text-section);line-height:1.2}.about-contact h2{font-size:var(--text-subhead);letter-spacing:var(--tracking-title);margin:0 0 .75rem}.explore-grid{grid-template-columns:repeat(auto-fill,minmax(15.5rem,1fr));gap:.85rem;margin:1.25rem 0 0;padding:0;list-style:none;display:grid}.explore-card{border:1px solid var(--line);height:100%;color:inherit;background:#24302b59;border-radius:.45rem;flex-direction:column;gap:.45rem;padding:1.15rem 1.2rem;text-decoration:none;transition:border-color .15s,background .15s,transform .15s;display:flex}.explore-card:hover{color:inherit;background:#24302ba6;border-color:#d4a15a73;transform:translateY(-2px)}.explore-label,.item-title,.read-next-title{font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--text-item);letter-spacing:var(--tracking-title);color:var(--ink)}.explore-blurb,.item-summary,.detail-summary{font-size:var(--text-summary);color:var(--ink-muted);margin:0;line-height:1.5}.explore-blurb{flex:1;line-height:1.45}.item-summary{margin-top:.35rem}.explore-meta{color:var(--accent);margin-top:.35rem}.section-header p,.detail-lede,.home-about p,.about-body p,.not-found p{color:var(--ink-muted);font-size:var(--text-lede);margin:0;line-height:1.55}.home-about p,.about-body p{margin:0 0 .85rem}.text-link{font-weight:600;text-decoration:none}.text-link:hover{text-decoration:underline}.featured-meta{flex-direction:column;gap:.35rem;padding-top:.2rem;display:flex}.featured-meta time,.item-list time{font-size:var(--text-meta);color:var(--ink-muted);font-variant-numeric:tabular-nums}.section-header{max-width:var(--max);margin-bottom:2rem}.item-list{flex-direction:column;gap:1.25rem;margin:0;padding:0;list-style:none;display:flex}.item-list>li{border-bottom:1px solid var(--line);grid-template-columns:7.5rem 1fr;gap:1rem;padding-bottom:1.25rem;display:grid}.item-list time,.type-label{padding-top:.25rem}.type-label{color:var(--ink-muted)}.item-title,.read-next-title{text-decoration:none}.item-title:hover,.read-next-link:hover .read-next-title{color:var(--accent)}.tag-list{flex-wrap:wrap;gap:.4rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.tag-list li{color:var(--ink-muted);border:1px solid var(--line);font-size:var(--text-meta);border-radius:.25rem;padding:.2rem .5rem}.tag-list.compact{margin-top:.6rem}.tag-more{appearance:none;border-radius:inherit;background:var(--accent-soft);color:var(--accent);font:inherit;font-size:inherit;cursor:pointer;font-weight:600;line-height:inherit;border:0;margin:-.2rem -.5rem;padding:.2rem .5rem}.tag-more:hover{color:#e8c07a}.detail{max-width:var(--max)}.detail-kicker{color:var(--ink-muted);font-size:var(--text-summary);margin:0 0 .75rem}.detail-lede{margin:.85rem 0 0!important}.read-next{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:3rem;padding-top:1.5rem;display:grid}.read-next-link{color:var(--ink);flex-direction:column;gap:.25rem;min-width:0;text-decoration:none;display:flex}.read-next-link.newer{text-align:right;justify-self:end}.read-next-label{color:var(--ink-muted)}.about-page{max-width:var(--max)}.about-cta{margin:1.75rem 0 2.5rem}.about-contact{border-top:1px solid var(--line);padding-top:1.5rem}.markdown-body{box-sizing:border-box;-webkit-font-smoothing:antialiased;min-width:0;max-width:100%;margin-top:2rem;padding:0;font-size:1.05rem;line-height:1.65;color:var(--ink)!important;font-family:var(--font-body)!important;background-color:#0000!important}.markdown-body :first-child{margin-top:0!important}.markdown-body a{text-underline-offset:.18em;text-decoration-thickness:1px;color:var(--accent)!important}.markdown-body a:hover{color:#e8c07a!important}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{letter-spacing:var(--tracking-display);font-family:var(--font-display)!important;font-weight:var(--weight-display)!important;color:var(--ink)!important;border-color:var(--line)!important}.markdown-body p,.markdown-body li,.markdown-body td,.markdown-body th{color:var(--ink)}.markdown-body strong{color:var(--ink);font-weight:600}.markdown-body blockquote{color:var(--ink-muted)!important;border-left-color:var(--accent)!important}.markdown-body hr{background-color:var(--line)!important;border-color:var(--line)!important}.markdown-body code,.markdown-body tt{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:var(--ink)!important;background-color:var(--bg-lift)!important}.markdown-body pre{border:1px solid var(--line);color:var(--ink)!important;background-color:var(--bg-lift)!important}.markdown-body pre code{background-color:#0000!important}.markdown-body table tr{border-top-color:var(--line)!important;background-color:#0000!important}.markdown-body table tr:nth-child(2n){background-color:#24302b8c!important}.markdown-body table th,.markdown-body table td{color:var(--ink);border-color:var(--line)!important}.markdown-body table th{color:var(--ink);background-color:#24302b59}.markdown-body .md-media{vertical-align:middle;max-width:100%;line-height:0;display:inline-block;position:relative}.markdown-body .md-media.is-loading{width:100%;min-width:min(100%,20rem);min-height:10rem}.markdown-body .md-media.is-loading img{opacity:0}.markdown-body .md-media:not(.is-loading) img{opacity:1;transition:opacity .2s}.markdown-body .md-media.is-loading:after{content:"";background:linear-gradient(90deg, var(--bg-lift) 0%, #e8efe91a 45%, var(--bg-lift) 90%);pointer-events:none;background-size:200% 100%;border-radius:.25rem;animation:1.15s ease-in-out infinite md-shimmer;position:absolute;inset:0}.markdown-body .md-media.is-error{min-width:0;min-height:0;line-height:1.4}.markdown-body .md-media.is-error img{display:none}.markdown-body .md-media.is-error:after{content:"Image failed to load";color:var(--ink-muted);background:0 0;border-radius:0;padding:.35rem 0;font-size:.85rem;line-height:1.4;animation:none;display:block;position:static}@keyframes md-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.empty,.not-found{color:var(--ink-muted)}.not-found{max-width:var(--max)}.not-found .btn,.app-error .hero-cta{margin-top:1.25rem}.app-error-detail{max-width:36rem;color:var(--ink-muted);background:var(--bg-lift);border:1px solid var(--line);border-radius:.35rem;margin:1rem 0 0;padding:.85rem 1rem;font-size:.85rem;line-height:1.45;overflow:auto}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@media (width<=640px){.item-list>li{grid-template-columns:1fr;gap:.35rem}.read-next{grid-template-columns:1fr}.read-next-link.newer{text-align:left;justify-self:start}}
