@property --theme-light{syntax:"<percentage>";inherits:true;initial-value:100%}:root{--theme-light:100%;--theme-duration:.8s;color-scheme:light;transition:--theme-light var(--theme-duration) cubic-bezier(.4, 0, .2, 1)}@media (prefers-color-scheme:dark){:root:not([data-theme]){--theme-light:0%;color-scheme:dark}}@media (prefers-color-scheme:dark){:root:not([data-theme]) .theme-moon-light{display:none}:root:not([data-theme]) .theme-moon-dark{display:block!important}}@keyframes moon-wax{0%{transform:translateY(0)}to{transform:translateY(calc(var(--moon-size) * -4))}}@keyframes moon-wane{0%{transform:translateY(calc(var(--moon-size) * -4))}to{transform:translateY(calc(var(--moon-size) * -8))}}@media (width<=599px){.portfolio-page .site-theme-control{right:16px}}@media (pointer:coarse){.theme-control .theme-toggle{width:40px;height:44px}.theme-control .theme-menu>summary{width:28px;height:44px}.theme-options button{min-height:44px}.gallery-page .site-theme-control{top:calc(2px + env(safe-area-inset-top))}.gallery-page:has(.site-theme-control) .gallery-header-content{padding-right:calc(88px + env(safe-area-inset-right))}}@media (prefers-reduced-motion:reduce){:root{--theme-duration:0s}:root[data-theme-transition] .theme-moon-rest{display:block}:root[data-theme-transition] .theme-moon-orbit{display:none!important}}*{box-sizing:border-box}:root{font-synthesis:none;color:var(--portfolio-text);background:var(--portfolio-background);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}img{max-width:100%}h1,h2,h3,h4,p,figure{margin:0}ul,ol{margin:0;padding:0;list-style:none}:focus-visible{outline-offset:4px;outline:2px solid #2acc79}[hidden]{display:none!important}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{color:#fff;z-index:1000;background:#111;padding:12px;position:fixed;top:8px;left:16px;transform:translateY(-200%)}.skip-link:focus{transform:none}.shell{margin-inline:2vw}.site-header{height:clamp(120px,8vw,180px);padding-top:22px}.wordmark{color:#bfc4c7;letter-spacing:-.045em;font-size:clamp(30px,2.6vw,52px);font-weight:750;line-height:1.1;display:inline-block}.wordmark span{color:#28ca75}.site-navigation{align-items:center;gap:20px;font-size:12px;display:flex}.site-header .site-navigation{margin-top:16px}.site-navigation a{padding-block:4px;transition:opacity .2s}.site-navigation a:hover,.site-navigation a[aria-current]{text-underline-offset:4px;text-decoration:underline}.site-navigation [aria-disabled]{opacity:.5}.project-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:2vw;display:grid}.project-link{display:block;position:relative}.thumbnail{aspect-ratio:var(--photo-ratio);background:var(--portfolio-thumbnail);display:block;position:relative;overflow:hidden}.thumbnail img{object-fit:contain;width:100%;height:100%;display:block}.project-card .thumbnail{aspect-ratio:5/6}.project-card .thumbnail img{object-fit:cover}.thumbnail[data-state=error] img{opacity:0}.thumbnail-error{text-align:center;color:var(--portfolio-error);place-items:center;padding:16px;font-size:13px;display:grid;position:absolute;inset:0}.project-overlay{text-align:center;color:#fff;opacity:0;background:#0006;flex-direction:column;justify-content:center;align-items:center;gap:30px;padding:24px;transition:opacity .2s;display:flex;position:absolute;inset:0}.project-overlay h2{overflow-wrap:anywhere;font-size:18px;font-weight:500}.project-overlay time{font-variant-numeric:tabular-nums;font-size:16px}@media (hover:hover) and (pointer:fine){.project-link:hover .project-overlay{opacity:1}}.project-link:focus-visible .project-overlay,.project-link[data-revealed] .project-overlay{opacity:1}.site-footer{color:var(--portfolio-footer);justify-content:space-between;margin-top:64px;padding-block:28px;font-size:12px;display:flex}.empty-state,.not-found{min-height:45vh;padding-block:60px}.empty-state h2,.not-found h1{font-size:32px;font-weight:500}.empty-state p,.not-found p{color:var(--portfolio-muted);margin-block:20px;line-height:1.7}.text-link{padding-block:16px;display:inline-block}@media (width<=1199px){.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=899px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.shell{margin-inline:24px}}@media (width<=599px){.project-grid{grid-template-columns:minmax(0,1fr);gap:24px}.shell{margin-inline:20px}.site-header{height:122px;padding-top:26px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important}}:root{--color-text:color-mix(in srgb, #ffffffd9, #20242beb var(--theme-light));--color-text-secondary:color-mix(in srgb, #ffffff80, #20242b9e var(--theme-light));--color-text-tertiary:color-mix(in srgb, #ffffff40, #20242b66 var(--theme-light));--color-text-quaternary:color-mix(in srgb, #ffffff1a, #20242b2e var(--theme-light));--color-text-quinary:color-mix(in srgb, #ffffff0d, #20242b14 var(--theme-light));--color-fill:color-mix(in srgb, #ffffff1a, #20242b17 var(--theme-light));--color-fill-secondary:color-mix(in srgb, #ffffff14, #20242b11 var(--theme-light));--color-fill-tertiary:color-mix(in srgb, #ffffff0d, #20242b0b var(--theme-light));--color-fill-quaternary:color-mix(in srgb, #ffffff08, #20242b06 var(--theme-light));--color-material-ultra-thick:color-mix(in srgb, #282828d6, #fafbfcf0 var(--theme-light));--color-material-thick:color-mix(in srgb, #282828b8, #fafbfce0 var(--theme-light));--color-material-medium:color-mix(in srgb, #28282899, #fafbfccc var(--theme-light));--color-material-thin:color-mix(in srgb, #2828287a, #fafbfcad var(--theme-light));--color-material-ultra-thin:color-mix(in srgb, #2828285c, #fafbfc8a var(--theme-light));--color-material-opaque:color-mix(in srgb, #282828, #f5f6f8 var(--theme-light));--color-blue:color-mix(in srgb, #0a84ff, #006ada var(--theme-light));--color-red:color-mix(in srgb, #ff6961, #cb3e3a var(--theme-light));--color-green:color-mix(in srgb, #34c759, #228947 var(--theme-light));--color-histogram-blue:color-mix(in srgb, #409cff, #206ed1 var(--theme-light));--color-orange:color-mix(in srgb, #ff9f0a, #b6660c var(--theme-light));--color-background:color-mix(in srgb, #1c1c1e, #f7f8fa var(--theme-light));--color-accent:color-mix(in srgb, #007aff, #006bd6 var(--theme-light));--color-on-accent:color-mix(in srgb, #ffffffd9, white var(--theme-light));--gallery-histogram-grid:color-mix(in srgb, #ffffff0a, #20242b12 var(--theme-light));--gallery-histogram-highlight:color-mix(in srgb, #ffffff08, #20242b08 var(--theme-light));--portfolio-background:color-mix(in srgb, #161616, #f7f8fa var(--theme-light));--portfolio-text:color-mix(in srgb, #eee, #252a32 var(--theme-light));--portfolio-thumbnail:color-mix(in srgb, #282828, #e9ecf0 var(--theme-light));--portfolio-error:color-mix(in srgb, #aaa, #606771 var(--theme-light));--portfolio-footer:color-mix(in srgb, #a7adb0, #666e79 var(--theme-light));--portfolio-muted:color-mix(in srgb, #888, #666e79 var(--theme-light));--viewer-action-text:color-mix(in srgb, white, #20242beb var(--theme-light));--viewer-action-border:color-mix(in srgb, #ffffff1a, #20242b1a var(--theme-light));--viewer-action-hover:color-mix(in srgb, #0006, #e2e6ecf0 var(--theme-light));--viewer-action-hover-border:color-mix(in srgb, #ffffff26, #20242b26 var(--theme-light));--theme-light:100%;--theme-duration:.8s;color-scheme:light;transition:--theme-light var(--theme-duration) cubic-bezier(.4, 0, .2, 1)}:root[data-theme=dark]{--theme-light:0%;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme]){--theme-light:0%;color-scheme:dark}}.theme-control{color:var(--color-text);flex-shrink:0;align-items:center;gap:2px;display:inline-flex;position:relative}.theme-control .theme-toggle,.theme-control .theme-menu>summary{height:32px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-control .theme-toggle{width:32px}.theme-control .theme-menu>summary{width:22px;color:var(--color-text-secondary);list-style:none}.theme-menu>summary::-webkit-details-marker{display:none}.theme-control .theme-toggle:hover,.theme-control .theme-menu>summary:hover{background:var(--color-fill-tertiary)}.theme-control :is(button,summary):focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.theme-moon{--moon-size:22px;box-sizing:content-box;width:var(--moon-size);height:var(--moon-size);font:var(--moon-size)/1 "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;padding-inline:2px;display:block;overflow:hidden}.theme-moon-rest,.theme-moon-rest>span,.theme-moon-orbit>span{width:var(--moon-size);height:var(--moon-size);text-align:center;display:block}.theme-moon-dark,.theme-moon-orbit{display:none!important}:root[data-theme=dark] .theme-moon-light{display:none}:root[data-theme=dark] .theme-moon-dark{display:block!important}@media (prefers-color-scheme:dark){:root:not([data-theme]) .theme-moon-light{display:none}:root:not([data-theme]) .theme-moon-dark{display:block!important}}:root[data-theme-transition] .theme-moon-rest{display:none}:root[data-theme-transition] .theme-moon-orbit{display:block!important}:root[data-theme-transition=light] .theme-moon-orbit{animation:moon-wax var(--theme-duration) steps(4, end) both}:root[data-theme-transition=dark] .theme-moon-orbit{animation:moon-wane var(--theme-duration) steps(4, end) both}.theme-menu{position:relative}.theme-options{z-index:60;background:var(--color-material-thick);min-width:166px;color:var(--color-text);border:1px solid var(--color-fill);-webkit-backdrop-filter:blur(40px);box-shadow:var(--gallery-shadow,0 8px 32px var(--color-fill-tertiary));border-radius:12px;padding:6px;position:absolute;top:calc(100% + 8px);right:0}.theme-options button{text-align:left;cursor:pointer;border-radius:7px;align-items:center;gap:10px;width:100%;min-height:40px;font:13px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex;color:inherit!important;background:0 0!important;border:0!important;padding:8px 10px!important}.theme-options button:hover,.theme-options button[aria-pressed=true]{background:var(--color-fill-tertiary)!important}.theme-option-check{width:14px;margin-left:auto}.site-theme-control{z-index:40;position:absolute;top:24px;right:2vw}.gallery-page .site-theme-control{top:calc(8px + env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));position:fixed}.gallery-page:has(.site-theme-control) .gallery-header-content{padding-right:calc(78px + env(safe-area-inset-right))}@media (width<=599px){.portfolio-page .site-theme-control{right:16px}}@media (pointer:coarse){.theme-control .theme-toggle{width:40px;height:44px}.theme-control .theme-menu>summary{width:28px;height:44px}.theme-options button{min-height:44px}.gallery-page .site-theme-control{top:calc(2px + env(safe-area-inset-top))}.gallery-page:has(.site-theme-control) .gallery-header-content{padding-right:calc(88px + env(safe-area-inset-right))}}@media (prefers-reduced-motion:reduce){:root{--theme-duration:0s}:root[data-theme-transition] .theme-moon-rest{display:block}:root[data-theme-transition] .theme-moon-orbit{display:none!important}}:root:not([data-theme]) .site-theme-control{display:none}
