:root{color-scheme:light dark;--background:light-dark(#f8f7f3,#1b201e);--foreground:light-dark(#242724,#eaece5);--muted:light-dark(#525b56,#c3c9c0);--link:light-dark(#205064,#9ed4e5);--focus:light-dark(#9d5a23,#f1bd81);--bulb-yellow:light-dark(#c99b35,#f0c767)}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}html{background:var(--background);color:var(--foreground);text-size-adjust:100%;font-family:Georgia,Times New Roman,serif;line-height:1.6}body{margin:0}.site-header,main:not(.resume-content){max-width:70rem;margin-inline:clamp(1.5rem,7vw,12rem)}.site-header{flex-wrap:nowrap;align-items:baseline;gap:.75rem clamp(1.5rem,3vw,3rem);max-width:90rem;padding-top:clamp(2rem,5vh,4rem);display:flex}.site-brand{letter-spacing:.02em;margin:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.95rem;font-weight:400}.site-brand a{color:var(--foreground);text-decoration:none}.site-brand a:hover{text-decoration:underline}.site-header nav,.work-header{flex-wrap:nowrap;gap:.75rem 1.5rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9rem;display:flex}.site-header [aria-current=page]{color:var(--foreground);text-decoration-thickness:2px}.work-header{align-items:baseline}.work-header form{margin:0}.work-header button{color:var(--link);font:inherit;text-underline-offset:.2em;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.work-header button:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.breadcrumbs ol{flex-wrap:nowrap;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs li+li:before{content:"/";color:var(--muted);margin-right:.3rem}@media (width<=60rem){.site-header{flex-wrap:wrap}.work-header{width:100%;margin-left:0}}main:not(.resume-content){padding-block:clamp(2rem,6vh,4rem) 6rem}.site-header,main{z-index:1;position:relative}.theme-pull{z-index:3;opacity:.08;pointer-events:none;flex-direction:column;align-items:center;width:clamp(12rem,18vw,19rem);display:flex;position:fixed;top:clamp(6rem,12vh,10rem);right:clamp(.5rem,2.5vw,3rem)}.theme-pull[hidden]{display:none}.theme-pull button{color:var(--foreground);cursor:default;pointer-events:auto;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex}.theme-pull button:focus-visible{outline:2px solid var(--focus);outline-offset:-4px}.theme-bulb{width:100%;height:clamp(11rem,20vw,19rem)}.bulb-drawing{fill:none;stroke:currentColor;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;width:80%;height:100%}.bulb-glass{fill:color-mix(in srgb, var(--bulb-yellow) 35%, transparent);stroke:var(--bulb-yellow)}.theme-bulb[data-lit=true] .bulb-glass{fill:var(--bulb-yellow)}.glass-highlight{opacity:.5;stroke-width:3px}.filament,.base-grooves{stroke-width:3px}.bulb-base,.base-tip{fill:color-mix(in srgb, var(--foreground) 18%, transparent)}.theme-pull .theme-cord{touch-action:none;transform-origin:top;width:clamp(4rem,6vw,6rem);height:clamp(12rem,42vh,28rem);transform:rotate(var(--sway,0deg));flex-direction:column;justify-content:flex-start;margin-top:-.6rem;transition:transform .18s ease-out}.cord-line{width:.2rem;height:calc(100% - 1.6rem + var(--pull,0px));background:currentColor;flex:none;transition:height .12s ease-out}.cord-handle{border:.25rem solid;border-radius:50%;flex:none;width:1.25rem;height:1.25rem}@media (width<=60rem){.theme-pull{width:7rem;top:7rem;right:-2.25rem}.theme-bulb{height:8rem}.theme-pull .theme-cord{width:3rem;height:28vh}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.cord-line,.theme-pull .theme-cord{transition:none}}h1{margin-block:0 2rem;font-size:clamp(2rem,4vw,3.5rem);font-weight:400;line-height:1.15}p{max-width:65ch}a{color:var(--link);text-underline-offset:.2em}a:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.secondary-link{margin-top:2rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.85rem}.work-form{margin-top:2rem}.work-form input{box-sizing:border-box;border:1px solid var(--muted);width:min(100%,22rem);color:var(--foreground);font:inherit;background:0 0;border-radius:0;margin-block:.5rem 1rem;padding:.5rem;display:block}.work-form button{border:1px solid var(--muted);color:var(--foreground);cursor:pointer;background:0 0;padding:.45rem .65rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.85rem}.work-form :is(input,button):focus-visible{outline:2px solid var(--focus);outline-offset:2px}
