body{background-image:url(/portfolio/img/layout/body-background.png);flex-direction:column;margin:0;font-family:new-spirit-condensed,-apple-system,BlinkMacSystemFont,avenir next,avenir,segoe ui,helvetica neue,helvetica,Cantarell,Ubuntu,roboto,noto,arial,sans-serif;display:flex}html,body{max-width:100%;overflow-x:hidden}header{background-image:url(/portfolio/img/layout/headerbg.jpg);background-size:cover;flex-direction:column;justify-content:space-between;height:52px;padding:0 16px;transition:all .3s ease-in-out;display:flex}.tall-header{height:52px}.header-details-content{text-align:center;background-color:#69524171;border-radius:12px;width:80%;margin:60px auto 0;padding:16px;box-shadow:inset 0 0 8px 5px #5a4c42bf}.header-details{height:0;transition:all .4s ease-in-out}.header-collapsed-content{justify-content:space-between;height:52px;display:flex}.header-details-content h1{margin:0 12px}.header-details-content h3{margin:0}.header-details-content-profile-picture{background-image:url(/portfolio/img/layout/profile.jpg);background-position:50%;background-size:cover;border:2px solid #000;border-radius:50%;width:80px;height:80px;margin:0 auto}.header-details-content-description{font-size:18px}.title-wrapper{align-items:start;display:flex}.project-title{margin:0;font-size:1.3rem}.project-subtitle{margin-top:0;margin-bottom:0;font-size:1rem;font-weight:500}.project-icon{height:4.2rem;margin-right:12px;display:inline-block}.tags-wrapper{margin-top:8px}footer{background-image:url(/portfolio/img/layout/footerbg.png);background-repeat:repeat-x;background-size:contain;flex-direction:column;justify-content:center;align-items:center;height:62px;padding:0 16px;transition:all .3s ease-in-out;display:flex}.social-container{justify-content:space-between;column-gap:12px;display:flex}.expanded{height:650px}.expanded .about-button{box-shadow:0 0 #00000078,0 -.1em 0 .1em #00000045,0 .1em 0 .1em #ffffff45,inset -.1em 0 .1em #2f261e,inset 0 .1em .1em #00000045,inset .1em 0 .1em #00000045,inset 0 -.1em .1em #2f261e}.expanded .about-button:hover,.expanded .about-button:active{background:linear-gradient(#0000,#00000021),radial-gradient(90% 7% at 50% 8%,#ffffff78 25%,#fff0 50%),#5e5045;box-shadow:.1em .1em .5em #00000078,0 -.1em 0 .1em #00000045,0 .1em 0 .1em #ffffff45,inset -.1em 0 .1em #3d3128,inset 0 .1em .1em #ffffff45,inset .1em 0 .1em #ffffff45,inset 0 -.1em .1em #3d3128}.shelf-container{min-height:100vh;display:flex}.shelf{background-image:url(/portfolio/img/layout/shelf-background.png);background-repeat:repeat;flex-wrap:wrap;width:calc(100% - 140px);height:100%;margin:0;padding:0;display:flex}.last-row-fix{height:200px!important}.shelf-last-row{background-image:url(/portfolio/img/layout/shelf-background.png);width:100%;height:125px}.shelf-left{background-color:#0000;background-image:linear-gradient(154deg,#695241 0%,#69524100 1%),url(/portfolio/img/layout/edge-left.png);background-position:0 0,0 0;background-repeat:repeat-y;background-size:auto,auto;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;width:70px;min-height:100%}.shelf-right{background-color:#0000;background-image:linear-gradient(200deg,#695241 0%,#69524100 1%),url(/portfolio/img/layout/edge-right-bak.png);background-position:0 0,0 0;background-repeat:repeat-y;background-size:auto,auto;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;width:70px;min-height:100%}.shelf-item{min-width:-moz-fit-content;height:125px;align-items:flex-end;min-width:fit-content;max-width:100%;margin:128px 20px 27px -34px;padding:10px;transition:all .5s ease-in-out;display:flex;position:relative;overflow:hidden}.shelf-item img{object-fit:contain;filter:drop-shadow(4px 4px 4px #222);min-width:100%;height:100%;transition:all .5s ease-in-out;display:block}.shelf-item:hover{transition:all .1s ease-in-out;transform:scale(1.05)}.shelf-item-info{opacity:0;z-index:50;background-color:#0000;background-image:linear-gradient(#cfab8f 2%,#cfab8f00 12%),url(/portfolio/img/layout/infobg.jpg);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:contain;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-bottom:2px solid #997b63;border-left:2px solid #997b63;border-right:2px solid #997b63;border-radius:0 0 3px 3px;width:calc(100% - 24px);height:0;transition:all .3s ease-in-out;display:block;position:absolute;left:10px;right:10px;overflow:auto;box-shadow:0 -8px 8px -2px #cfab8fd9}.shelf-item-info::-webkit-scrollbar{width:3px;height:0}.shelf-item-info::-webkit-scrollbar-track{background:0 0}.shelf-item-info::-webkit-scrollbar-thumb{background:#cfab8f}.shelf-item-info::-webkit-scrollbar-thumb:hover{background:0 0}.shelf-item-info::-webkit-scrollbar-thumb:active{background:0 0}.shelf-item-info::-webkit-scrollbar-thumb:window-inactive{background:#cfab8f}.shelf-item-info::-webkit-scrollbar-corner{background:0 0}.shelf-item-info .content{padding-inline:24px}body::-webkit-scrollbar{width:0;height:0}@media (width>=769px){.shelf-item{min-width:-moz-fit-content;height:240px;align-items:flex-end;min-width:fit-content;max-width:100%;margin:16px 32px 24px;padding:10px;display:flex;position:relative;overflow:hidden}.social-container{column-gap:24px}.header-details-content-description{font-size:20px}.header-details-content{width:69%;max-width:810px}.shelf-left{background:linear-gradient(154deg,#695241 0%,#69524100 3%),url(/portfolio/img/layout/edge-left.png)}.shelf-right{background:linear-gradient(200deg,#695241 0%,#69524100 3%),url(/portfolio/img/layout/edge-right-bak.png)}.shelf-item img{object-fit:contain;filter:drop-shadow(4px 4px 4px #222);min-width:100%;height:100%;transition:all .5s ease-in-out;display:block}.shelf-last-row{height:240px}.last-row-fix{height:410px!important}}.page-title{opacity:.7;color:#1d1814;align-self:end;align-items:center;height:35px;margin-bottom:8.5px;display:flex}.page-title span{font-family:new-spirit-condensed,-apple-system,BlinkMacSystemFont,avenir next,avenir,segoe ui,helvetica neue,helvetica,Cantarell,Ubuntu,roboto,noto,arial,sans-serif;font-size:28px;font-weight:600}.about-button{display:center;background:linear-gradient(#0000,#00000021),radial-gradient(90% 7% at 50% 8%,#ffffff78 25%,#fff0 50%),#5e5045;align-self:end;height:35px;margin-bottom:8.2px;transition:all .15s ease-in-out;box-shadow:.1em .1em .5em #00000078,0 -.1em 0 .1em #00000045,0 .1em 0 .1em #ffffff45,inset -.1em 0 .1em #3d3128,inset 0 .1em .1em #ffffff45,inset .1em 0 .1em #ffffff45,inset 0 -.1em .1em #3d3128}.about-button:active,.about-button:hover,.about-button-active{box-shadow:0 0 #00000078,0 -.1em 0 .1em #00000045,0 .1em 0 .1em #ffffff45,inset -.1em 0 .1em #2f261e,inset 0 .1em .1em #00000045,inset .1em 0 .1em #00000045,inset 0 -.1em .1em #2f261e}.about-button-active:active,.about-button-active:hover{background:linear-gradient(#0000,#00000021),radial-gradient(90% 7% at 50% 8%,#ffffff78 25%,#fff0 50%),#5e5045;box-shadow:.1em .1em .5em #00000078,0 -.1em 0 .1em #00000045,0 .1em 0 .1em #ffffff45,inset -.1em 0 .1em #3d3128,inset 0 .1em .1em #ffffff45,inset .1em 0 .1em #ffffff45,inset 0 -.1em .1em #3d3128}button{color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;border-radius:.375em;padding:.5em 1em;font:14px/1.5 sans-serif;transition-property:box-shadow}button,button span{transition-duration:.1s;transition-timing-function:linear;display:block}button:focus,button span:focus{outline:none}button span{will-change:transform;transition-property:transform}button:active span{transform:scale(.95)}.social-button{justify-content:center;align-items:center;width:44px;height:44px;font:20px sans-serif;transition:all .15s ease-in-out;display:flex!important}.x-button{display:center;background:linear-gradient(#0000,#00000021),radial-gradient(90% 7% at 50% 8%,#ffffff78 25%,#fff0 50%),#535353;box-shadow:.1em .1em .5em #00000078,0 -.1em 0 .1em #00000045,0 .1em 0 .1em #ffffff45,inset -.1em 0 .1em #232323,inset 0 .1em .1em #ffffff45,inset .1em 0 .1em #ffffff45,inset 0 -.1em .1em #232323}.x-button:hover,.x-button:active{box-shadow:0 0 #00000078,0 -.1em 0 .1em #00000045,0 .1em 0 .1em #ffffff45,inset -.1em 0 .1em #121212,inset 0 .1em .1em #00000045,inset .1em 0 .1em #00000045,inset 0 -.1em .1em #121212}.bluesky-button{display:center;background:linear-gradient(#0000,#00000021),radial-gradient(90% 7% at 50% 8%,#ffffff78 25%,#fff0 50%),#1da1f2;box-shadow:.1em .1em .5em #00000078,0 -.1em 0 .1em #00000045,0 .1em 0 .1em #ffffff45,inset -.1em 0 .1em #146ea6,inset 0 .1em .1em #ffffff45,inset .1em 0 .1em #ffffff45,inset 0 -.1em .1em #146ea6}.bluesky-button:hover,.bluesky-button:active{box-shadow:0 0 #00000078,0 -.1em 0 .1em #00000045,0 .1em 0 .1em #ffffff45,inset -.1em 0 .1em #0f537e,inset 0 .1em .1em #00000045,inset .1em 0 .1em #00000045,inset 0 -.1em .1em #0f537e}.mastodon-button{display:center;background:linear-gradient(#0000,#00000021),radial-gradient(90% 7% at 50% 8%,#ffffff78 25%,#fff0 50%),#6364ff;box-shadow:.1em .1em .5em #00000078,0 -.1em 0 .1em #00000045,0 .1em 0 .1em #ffffff45,inset -.1em 0 .1em #4e4ec9,inset 0 .1em .1em #ffffff45,inset .1em 0 .1em #ffffff45,inset 0 -.1em .1em #4e4ec9}.mastodon-button:hover,.mastodon-button:active{box-shadow:0 0 #00000078,0 -.1em 0 .1em #00000045,0 .1em 0 .1em #ffffff45,inset -.1em 0 .1em #30307f,inset 0 .1em .1em #00000045,inset .1em 0 .1em #00000045,inset 0 -.1em .1em #30307f}.github-button{display:center;background:linear-gradient(#0000,#00000021),radial-gradient(90% 7% at 50% 8%,#ffffff78 25%,#fff0 50%),#2ea043;box-shadow:.1em .1em .5em #00000078,0 -.1em 0 .1em #00000045,0 .1em 0 .1em #ffffff45,inset -.1em 0 .1em #258035,inset 0 .1em .1em #ffffff45,inset .1em 0 .1em #ffffff45,inset 0 -.1em .1em #258035}.github-button:hover,.github-button:active{box-shadow:0 0 #00000078,0 -.1em 0 .1em #00000045,0 .1em 0 .1em #ffffff45,inset -.1em 0 .1em #1a5a26,inset 0 .1em .1em #00000045,inset .1em 0 .1em #00000045,inset 0 -.1em .1em #1a5a26}.rss-button{display:center;background:linear-gradient(#0000,#00000021),radial-gradient(90% 7% at 50% 8%,#ffffff78 25%,#fff0 50%),#e57e1f;box-shadow:.1em .1em .5em #00000078,0 -.1em 0 .1em #00000045,0 .1em 0 .1em #ffffff45,inset -.1em 0 .1em #8c4d12,inset 0 .1em .1em #ffffff45,inset .1em 0 .1em #ffffff45,inset 0 -.1em .1em #8c4d12}.rss-button:hover,.rss-button:active{box-shadow:0 0 #00000078,0 -.1em 0 .1em #00000045,0 .1em 0 .1em #ffffff45,inset -.1em 0 .1em #7b430f,inset 0 .1em .1em #00000045,inset .1em 0 .1em #00000045,inset 0 -.1em .1em #7b430f}.id-button{display:center;background:linear-gradient(#0000,#00000021),radial-gradient(90% 7% at 50% 8%,#ffffff78 25%,#fff0 50%),#d81fe5;box-shadow:.1em .1em .5em #00000078,0 -.1em 0 .1em #00000045,0 .1em 0 .1em #ffffff45,inset -.1em 0 .1em #9e16a7,inset 0 .1em .1em #ffffff45,inset .1em 0 .1em #ffffff45,inset 0 -.1em .1em #9e16a7}.id-button:hover,.id-button:active{box-shadow:0 0 #00000078,0 -.1em 0 .1em #00000045,0 .1em 0 .1em #ffffff45,inset -.1em 0 .1em #721179,inset 0 .1em .1em #00000045,inset .1em 0 .1em #00000045,inset 0 -.1em .1em #721179}.bp-img{background-position:50%!important;background-repeat:no-repeat!important;background-size:contain!important}.bp-img img{height:auto;object-fit:contain!important}.tag-badge.svelte-131mczo{color:#fff;text-transform:lowercase;background-color:#00000086;border-radius:9999px;margin-bottom:.5em;margin-right:.5em;padding:.5em 1em;font-family:monospace;font-size:.9em;display:inline-block}.gallery-image.svelte-1wnuyn0{cursor:pointer;object-fit:contain;cursor:zoom-in;filter:drop-shadow(2px 2px 3px #48392db4);border-radius:4px;height:auto;max-height:267px;margin:0 1em 1em 0;transition:all .2s}.gallery-image.svelte-1wnuyn0:hover{filter:drop-shadow(2px 2px 3px #48392d);transform:scale(.98)}.lightbox-overlay.svelte-1uopij2{z-index:1000;background-color:#000000e6;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.lightbox-container.svelte-1uopij2{flex-direction:column;width:90%;max-width:1200px;max-height:90vh;display:flex;position:relative}.lightbox-content.svelte-1uopij2{justify-content:center;align-items:center;width:100%;display:flex}.lightbox-image-container.svelte-1uopij2{flex-direction:column;max-width:90%;display:flex;position:relative}.lightbox-image.svelte-1uopij2{object-fit:contain;max-width:100%;max-height:80vh}.lightbox-description.svelte-1uopij2{color:#fff;text-align:center;margin-top:10px;padding:10px}.lightbox-close.svelte-1uopij2{color:#fff;cursor:pointer;z-index:1010;background:0 0;border:none;justify-content:center;align-items:center;font-size:28px;display:flex;position:absolute;top:-40px;right:0}.lightbox-nav.svelte-1uopij2{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:4px;justify-content:center;align-items:center;width:48px;height:48px;margin:0 10px;padding:10px;font-size:24px;transition:background-color .2s;display:flex}.lightbox-nav.svelte-1uopij2:hover:not([disabled]){background:#ffffff4d}.lightbox-nav[disabled].svelte-1uopij2{opacity:.3;cursor:not-allowed}.lightbox-counter.svelte-1uopij2{color:#fff;text-align:center;margin-top:10px}@media (width<=768px){.lightbox-content.svelte-1uopij2{flex-direction:column;padding-bottom:60px;position:relative}.lightbox-image-container.svelte-1uopij2{order:1;max-width:100%}.lightbox-nav.svelte-1uopij2{width:40px;height:40px;padding:8px;font-size:20px;position:absolute;bottom:0}.lightbox-nav.prev.svelte-1uopij2{left:calc(50% - 50px)}.lightbox-nav.next.svelte-1uopij2{right:calc(50% - 50px)}.lightbox-close.svelte-1uopij2{font-size:24px;top:-35px}.lightbox-image.svelte-1uopij2{max-height:75vh}}a.svelte-ke78g7{color:#000;margin-right:1em;font-weight:700;text-decoration:none;transition:transform .2s}a.svelte-ke78g7:hover{transform:scale(1.05)}.link.svelte-ke78g7{color:#fff;background-color:#000;border:1.4px solid #fff;border-radius:6px;margin-right:.5em;padding:.55em 1em;font-family:monospace;font-size:1.2em;display:inline-block}.gallery.svelte-1n46o8q{flex-wrap:nowrap;justify-content:start;align-items:start;width:100%;padding:1em .6em;display:flex;overflow-x:auto}.gallery.svelte-1n46o8q::-webkit-scrollbar{width:0;height:3px}.gallery.svelte-1n46o8q::-webkit-scrollbar-track{background:0 0}.gallery.svelte-1n46o8q::-webkit-scrollbar-thumb{background:#cfab8f}.gallery.svelte-1n46o8q::-webkit-scrollbar-thumb:hover{background:0 0}.gallery.svelte-1n46o8q::-webkit-scrollbar-thumb:active{background:0 0}.gallery.svelte-1n46o8q::-webkit-scrollbar-thumb:window-inactive{background:#cfab8f}.gallery.svelte-1n46o8q::-webkit-scrollbar-corner{background:0 0}.links.svelte-1n46o8q{flex-wrap:wrap;align-items:start;display:flex}.social-container.svelte-1n46o8q a:where(.svelte-1n46o8q){text-decoration:none}a.svelte-1n46o8q{color:#000;text-decoration:underline}a.svelte-1n46o8q:hover{font-style:italic}.content.svelte-1n46o8q{flex-flow:column wrap;justify-content:start;align-items:start;display:flex}.text-wrapper.svelte-1n46o8q,.gallery-wrapper.svelte-1n46o8q{width:100%}.links-wrapper.svelte-1n46o8q{width:100%;margin-top:1rem}@media (width>=768px){.content.svelte-1n46o8q{flex-flow:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.text-wrapper.svelte-1n46o8q,.gallery-wrapper.svelte-1n46o8q{width:49%}.links-wrapper.svelte-1n46o8q{width:100%;margin-top:0}}
