/* Last update 2026-02-09 20:04:16 +00:00 by scssphp */
@charset "UTF-8";html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{border:0;font-size:1rem;font:inherit;vertical-align:baseline;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}table{border-collapse:collapse;border-spacing:0}*,*::before,*::after{box-sizing:border-box}@font-face{font-family:"Name Sans";src:url(../fonts/AT-NameSansVariable.woff2)format("woff2")}h1,h2,h3,h4,h5,h6{font-family:"Name Sans";color:#1a1a1a}body{color:#333333;font-family:-apple-system,BlinkMacSystemFont,"Avenir Next",Avenir,"Segoe UI","Helvetica Neue",Helvetica,Ubuntu,Roboto,Noto,Arial,sans-serif;font-weight:400;line-height:1.6;background-color:#fbfbfb}h1{font-size:1.953rem;font-weight:500;line-height:1.2;text-align:left}h2{font-size:1.563rem;font-weight:500;margin-bottom:1rem;letter-spacing:.4px}h3{font-size:1.25rem;font-weight:500;line-height:1.2}h4{font-weight:400;color:#555555}h5{font-weight:400;font-size:.8rem;color:#777777;text-align:center}mark{background:rgba(246,198,0,.4);border-radius:4px;padding:2px 1px;box-shadow:2px 0 0 rgba(246,198,0,.4),-2px 0 0 rgba(246,198,0,.4)}em{font-style:italic}strong{font-weight:bold}sup{vertical-align:super}a:link,a:visited{text-decoration:none}h1 a{color:#1a1a1a}.post p a:hover,.aboutme a:hover,.page p a:hover,.sitenav a:hover{border-bottom:1px dashed #777777;color:#d25630}#container{display:grid;margin:0 auto;width:100%;background-color:#fbfbfb}.home,.page{max-width:68rem;margin:5rem 1rem 2rem}.post{max-width:84rem;margin:4rem auto}.post h1,.post h2,.post h3,.post h4,.post h5,.post h6{text-align:center}.post h1 h2,.post h2 h2,.post h3 h2,.post h4 h2,.post h5 h2,.post h6 h2,.post h1 h3,.post h2 h3,.post h3 h3,.post h4 h3,.post h5 h3,.post h6 h3,.post h1 h4,.post h2 h4,.post h3 h4,.post h4 h4,.post h5 h4,.post h6 h4{margin:2rem auto}.project{max-width:68rem}hr{border:0;border-bottom:1px dashed #d4d4d4;max-width:80%;margin:2rem auto}.center{text-align:center}.text .codeblock{display:grid;line-height:1.5}.grid{--columns:12;--gutter:3rem;display:grid;gap:var(--gutter);grid-template-columns:1fr;justify-items:center;align-items:center}.grid > .column{margin-bottom:var(--gutter)}.autogrid{--gutter:3rem;--min:10rem;display:grid;gap:var(--gutter);grid-template-columns:repeat(auto-fit,minmax(var(--min),1fr));grid-auto-flow:dense}#menu{position:fixed;bottom:1rem;left:2rem;right:2rem;display:flex;justify-content:center;z-index:10;margin:0;font-family:"Name Sans";background:none}#menu nav{position:relative;width:100%}#menu .menu-center{position:relative;background:rgba(251,251,251,.8);backdrop-filter:blur(20px)saturate(180%);-webkit-backdrop-filter:blur(20px)saturate(180%);border-radius:6px;padding:2px;box-shadow:0 4px 2px rgba(0,0,0,.08),0 0 0 1px rgba(0,0,0,.04);width:100%}#menu ul{padding:0;margin:0;display:flex;justify-content:center;align-items:center;gap:0}#menu li{flex:1}#menu li a{text-align:center}#menu li{list-style-type:none;padding:0}#menu li a{padding:.75rem .5rem;display:block;color:#999999;white-space:nowrap;transition:color .3s ease;position:relative;z-index:2}#menu li a:hover{color:#555555}#menu li a.currentpage{color:#1a1a1a}#menu #menu-pill{position:absolute;background:white;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.08);transition:left .35s cubic-bezier(.4,0,.2,1),top .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1),height .35s cubic-bezier(.4,0,.2,1);z-index:1;pointer-events:none}#menu .menu-left{display:none}.disco-toggle{background:none;border:none;padding:0;cursor:pointer;line-height:0}.menu-logo-mobile{display:block;position:fixed;top:1rem;left:50%;transform:translateX(-50%);z-index:11}@media(min-width:40rem){.menu-logo-mobile{display:none}}.pin::before{content:"📍"}img{width:100%}.device img{padding:0 1rem}.error{width:100%;margin:3rem auto;max-width:700px}figure{position:relative;text-align:center}.figcaption{position:absolute;bottom:-1rem;color:#777777;left:0;max-width:64rem}figcaption a{color:#fbfbfb !important}.post img{max-width:64rem;margin:0 auto}iframe{display:block;margin:1rem auto;width:100%;height:240px}audio{display:block;padding:0 0 3rem}blockquote{background-color:#f7f7f7;line-height:1.5;font-size:1.563rem;padding:1rem 0;font-style:italic;display:block;width:100%}.headline,.articletop{margin:1.5rem 0}.headline h1,.articletop h1{font-weight:700;font-variation-settings:"opsz" 72;margin-bottom:1.5rem}.articletop .subheadline{color:#555555;margin-bottom:.5rem}.articletop h4{font-family:inherit;font-size:.8rem}.gridholder{margin:2rem 0}.link{color:#d25630;float:right;font-size:1rem;letter-spacing:0}.albumgrid,.projectsgrid{display:grid;grid-template-columns:1fr;gap:3rem;max-width:100%;position:relative}.projectsgrid{overflow:visible}.albumgrid{overflow:hidden}.projectsgrid > .child{color:#555555}.projectsgrid > .child .projectmeta{padding:0;line-height:1.375}.projectsgrid > .child .projectmeta p{line-height:1.6}.projectsgrid > .child .projectheader{display:flex;justify-content:space-between;align-items:baseline}.projectsgrid > .child h4{margin:0;color:#777777}.projectsgrid > .child h5{margin:0;text-align:left}.projectsgrid > .child ul{margin-top:1rem;margin-bottom:0}.projectsgrid > .child li{line-height:1.5;list-style:circle;list-style-position:inside}.projectsgrid > .child a{color:#333333}.projectcover{border-radius:2px;overflow:hidden;outline:1px solid rgba(0,0,0,.05);box-shadow:0 1px 3px 0 rgba(0,0,0,.05),0 1px 2px 0 rgba(0,0,0,.025);transition:box-shadow .2s ease-in-out}.projectcover img{width:100%;aspect-ratio:2/1;object-fit:cover;display:block}.experiment-cover img{aspect-ratio:3/2}.albumgrid > .child{position:relative;text-align:center;overflow:hidden;border-radius:2px}.albumgrid > .child figure{margin:0;aspect-ratio:4/3;position:relative}.albumgrid > .child figure::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 16px 3px rgba(255,255,255,.12),inset 0 0 5px 1px rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.14);pointer-events:none;z-index:5}.albumgrid img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover;filter:blur(8px);opacity:0;transition:filter .4s ease,opacity .4s ease}.albumgrid img.loaded{filter:blur(0);opacity:1}.albumgrid > .child h3{text-shadow:0 0 .3em rgba(0,0,0,.6);position:absolute;margin:0 auto;max-width:90%;left:1rem;bottom:1rem;white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis;color:#f7f7f7}.gridimg:hover::after{opacity:1}.albumgrid .child.photo-stack{overflow:visible}.albumgrid .child.photo-stack figure{position:relative;z-index:4;border-radius:2px;overflow:hidden}.stack-layer{position:absolute;inset:0;border-radius:2px;overflow:hidden;border:1px solid rgba(0,0,0,.05);transition:transform .3s ease}.stack-layer img{width:100%;height:100%;object-fit:cover}.stack-layer.layer-1{z-index:2;box-shadow:0 1px 1px rgba(0,0,0,.1),0 2px 4px rgba(0,0,0,.08),0 4px 10px rgba(0,0,0,.06)}.stack-layer.layer-2{z-index:1;box-shadow:0 1px 1px rgba(0,0,0,.08),0 2px 6px rgba(0,0,0,.06),0 6px 14px rgba(0,0,0,.05)}.albumgrid .child.photo-stack:nth-child(9n+1)> .layer-1{transform:rotate(2.8deg)translate(5px,5px)}.albumgrid .child.photo-stack:nth-child(9n+1)> .layer-2{transform:rotate(-3.5deg)translate(-4px,9px)}.albumgrid .child.photo-stack:nth-child(9n+2)> .layer-1{transform:rotate(-2deg)translate(-3px,6px)}.albumgrid .child.photo-stack:nth-child(9n+2)> .layer-2{transform:rotate(4deg)translate(5px,11px)}.albumgrid .child.photo-stack:nth-child(9n+3)> .layer-1{transform:rotate(3.5deg)translate(4px,4px)}.albumgrid .child.photo-stack:nth-child(9n+3)> .layer-2{transform:rotate(-2.5deg)translate(-6px,8px)}.albumgrid .child.photo-stack:nth-child(9n+4)> .layer-1{transform:rotate(-1.5deg)translate(-5px,7px)}.albumgrid .child.photo-stack:nth-child(9n+4)> .layer-2{transform:rotate(3deg)translate(3px,10px)}.albumgrid .child.photo-stack:nth-child(9n+5)> .layer-1{transform:rotate(4deg)translate(3px,5px)}.albumgrid .child.photo-stack:nth-child(9n+5)> .layer-2{transform:rotate(-4deg)translate(-5px,12px)}.albumgrid .child.photo-stack:nth-child(9n+6)> .layer-1{transform:rotate(-3deg)translate(-4px,6px)}.albumgrid .child.photo-stack:nth-child(9n+6)> .layer-2{transform:rotate(2deg)translate(6px,8px)}.albumgrid .child.photo-stack:nth-child(9n+7)> .layer-1{transform:rotate(1.8deg)translate(3px,7px)}.albumgrid .child.photo-stack:nth-child(9n+7)> .layer-2{transform:rotate(-4.2deg)translate(-5px,10px)}.albumgrid .child.photo-stack:nth-child(9n+8)> .layer-1{transform:rotate(-3.5deg)translate(-6px,4px)}.albumgrid .child.photo-stack:nth-child(9n+8)> .layer-2{transform:rotate(2.5deg)translate(4px,9px)}.albumgrid .child.photo-stack:nth-child(9n)> .layer-1{transform:rotate(4.2deg)translate(5px,6px)}.albumgrid .child.photo-stack:nth-child(9n)> .layer-2{transform:rotate(-1.8deg)translate(-3px,11px)}.albumgrid .child.photo-stack:hover > .layer-1{transform:rotate(.5deg)translate(2px,3px)}.albumgrid .child.photo-stack:hover > .layer-2{transform:rotate(-.8deg)translate(-2px,5px)}.album-text{max-width:40rem;margin:0 auto 2rem;color:#555555}.album-gallery{display:grid;grid-template-columns:1fr;gap:1rem}.album-gallery a{display:block}.album-gallery figure{margin:0}.album-gallery img{border-radius:8px;object-fit:cover;width:100%}.album-gallery h2{margin-top:1rem;font-size:2.441rem;font-weight:600}.album-gallery hr{border:none;border-top:1px solid #d4d4d4;margin:1rem 0 0}.home .gridholder{position:relative;margin:4rem 0}.home h2{max-width:68rem;margin:0 auto 1.5rem;font-size:1.25rem;color:#555555}.home .albumgrid{grid-template-columns:1fr}.home .projectsgrid{overflow:visible}.side{background:#f2f2f2;padding:1.5rem;border-radius:2px;align-self:center}.side ul{padding:.5rem 0 0;list-style:circle;margin-bottom:0}.side ul li{list-style-position:inside}.experience p{margin:1.5rem 0}.experience p a{color:#d25630}.post p,.post ul,.post ol,audio,.aboutme p,.contactme p{max-width:40rem;margin:1rem auto;padding:0 1rem}.aboutme p,.contactme p{max-width:64rem !important}blockquote p{padding:2rem;text-align:center;max-width:45rem !important}.post ul{margin:1rem auto 3rem}.post ul li{list-style:circle;margin-bottom:1rem;padding-left:1em;text-indent:-1em}ol li{margin-bottom:1rem}article{max-width:100%}article > ul{list-style:circle;margin-bottom:1rem;padding-left:1em;padding-top:1rem}article > ul li{color:#555555}.work .twogrid{padding-bottom:2rem;border-bottom:1px #d4d4d4 solid}.work h2,.work .twogrid{margin-top:2rem}.work section p{max-width:40rem;margin:1rem 0;line-height:1.5}.work h5{text-align:left;margin:0}.work .side p:last-child{margin-bottom:0}.work figure{margin:1.5rem 0}.work figure img{max-width:100%;border-radius:2px;outline:1px solid rgba(0,0,0,.05);box-shadow:0 1px 3px 0 rgba(0,0,0,.05),0 1px 2px 0 rgba(0,0,0,.025)}.work figure.no-shadow img{box-shadow:none;outline:none}.project figure{margin:4rem auto}.backnav{margin-bottom:.5rem;text-align:left}.backnav a{color:#d25630;font-size:1.25rem;font-weight:500}.bottomnav ul{display:flex;justify-content:space-between;align-items:center;margin:3rem auto;text-decoration:none;max-width:68rem}.bottomnav a{color:#d25630}.bottomnav li{line-height:2;list-style-type:none;position:relative;margin:0 1rem}.bottomnav li i{position:relative;top:3px}.extra{display:none}.right{text-align:right;clear:both}.minigrid{display:grid;grid-auto-flow:column;grid-auto-columns:88%;gap:.5rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scroll-padding:.5rem;scrollbar-width:none}.minigrid figure,.minigrid a{scroll-snap-align:start}.minigrid > img{margin:0}.minigrid::-webkit-scrollbar{display:none}.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}.reveal.visible{opacity:1;transform:translateY(0)}.songs-hero{position:relative;height:200vh;background:#f2f2f2}.songs-hero-sticky{position:sticky;top:0;height:100vh;overflow:hidden}.songs-hero-content{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem}.songs-hero-content h1{font-size:3.052rem;font-weight:900;margin:0;line-height:1;letter-spacing:-.02em}.songs-hero-content h4{margin:.5rem 0 0}.songs-hero-mosaic{position:absolute;inset:0;z-index:2;display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(8,1fr);gap:3px}.songs-hero-tile{object-fit:cover;width:100%;height:100%;opacity:0;will-change:transform,opacity}.songs-hero-tile--1{grid-area:1/1/4/6}.songs-hero-tile--2{grid-area:1/6/4/10}.songs-hero-tile--3{grid-area:1/10/3/13}.songs-hero-tile--4{grid-area:4/1/7/5}.songs-hero-tile--5{grid-area:3/5/5/8}.songs-hero-tile--6{grid-area:5/5/7/8}.songs-hero-tile--7{grid-area:4/8/7/11}.songs-hero-tile--8{grid-area:7/1/9/5}.songs-hero-tile--9{grid-area:7/5/9/9}.songs-hero-tile--10{grid-area:3/11/5/13}.songs-hero-tile--11{grid-area:5/11/7/13}.songs-hero-tile--12{grid-area:7/9/9/13}@media(max-width:639px){.songs-hero-mosaic{grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(6,1fr)}.songs-hero-tile--1{grid-area:1/1/3/4}.songs-hero-tile--2{grid-area:1/4/3/7}.songs-hero-tile--3{grid-area:4/1/7/3}.songs-hero-tile--4{grid-area:4/3/7/7}.songs-hero-tile--5,.songs-hero-tile--6,.songs-hero-tile--7,.songs-hero-tile--8,.songs-hero-tile--9,.songs-hero-tile--10,.songs-hero-tile--11,.songs-hero-tile--12{display:none}}.songs-page{max-width:84rem;margin:1rem auto;padding:0 1rem}.rankings-list{display:grid;grid-template-columns:1fr;gap:1.25rem}.song-card{position:relative;border-radius:12px;overflow:hidden;cursor:pointer;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s ease}.song-card:hover{transform:scale(1.02);box-shadow:0 8px 24px rgba(0,0,0,.15)}.song-card:hover .song-card-play{opacity:1}.song-card:nth-child(1){transition-delay:.04s}.song-card:nth-child(2){transition-delay:.08s}.song-card:nth-child(3){transition-delay:.12s}.song-card:nth-child(4){transition-delay:.16s}.song-card:nth-child(5){transition-delay:.2s}.song-card:nth-child(6){transition-delay:.24s}.song-card:nth-child(7){transition-delay:.28s}.song-card:nth-child(8){transition-delay:.32s}.song-card:nth-child(9){transition-delay:.36s}.song-card:nth-child(10){transition-delay:.4s}.song-card:nth-child(11){transition-delay:.44s}.song-card:nth-child(12){transition-delay:.48s}.song-card:nth-child(13){transition-delay:.52s}.song-card:nth-child(14){transition-delay:.56s}.song-card:nth-child(15){transition-delay:.6s}.song-card:nth-child(16){transition-delay:.64s}.song-card:nth-child(17){transition-delay:.68s}.song-card:nth-child(18){transition-delay:.72s}.song-card:nth-child(19){transition-delay:.76s}.song-card:nth-child(20){transition-delay:.8s}.song-card-art{position:relative}.song-card-art img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}.song-card-rank{position:absolute;top:.75rem;left:.75rem;background:rgba(0,0,0,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:8px;padding:.2rem .5rem;font-family:"Name Sans";font-weight:800;font-size:1.25rem;line-height:1.2;font-variant-numeric:tabular-nums;color:#f7f7f7;z-index:2}.rank-tier-gold .song-card-rank span{color:#c8a415}.rank-tier-silver .song-card-rank span{color:#8a8d90}.rank-tier-bronze .song-card-rank span{color:#a0673a}.song-card-overlay{position:absolute;bottom:0;left:0;right:0;padding:3rem 1rem 1rem;background:linear-gradient(transparent,rgba(0,0,0,.75));z-index:1}.song-card-overlay h3{color:#f7f7f7;font-size:1rem;font-weight:600;margin:0;text-shadow:0 1px 4px rgba(0,0,0,.4)}.song-card-overlay h4{color:rgba(255,255,255,.8);font-size:.8rem;margin:.15rem 0 0;text-shadow:0 1px 4px rgba(0,0,0,.4)}.song-card-play{position:absolute;bottom:.75rem;right:.75rem;width:2.5rem;height:2.5rem;border-radius:50%;border:none;background:rgba(255,255,255,.9);cursor:pointer;z-index:3;opacity:0;transition:opacity .2s ease,transform .15s ease;display:flex;align-items:center;justify-content:center}.song-card-play:hover{transform:scale(1.1)}.song-card-play:active{transform:scale(.95)}.song-card-play.playing{opacity:1;background:#f7f7f7}.play-icon{display:block;width:0;height:0;border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent #333333;margin-left:2px}.playing .play-icon{border:none;width:10px;height:12px;border-left:3px solid #333333;border-right:3px solid #333333;margin-left:0}.song-detail .rank-hero{text-align:center;margin-bottom:.5rem;animation:rank-enter .8s cubic-bezier(.16,1,.3,1)forwards}.song-detail .rank-number{font-family:"Name Sans";font-weight:900;font-size:3.815rem;line-height:1;font-variant-numeric:tabular-nums;color:#777777}.song-detail .rank-tier-gold .rank-number{color:#c8a415}.song-detail .rank-tier-silver .rank-number{color:#8a8d90}.song-detail .rank-tier-bronze .rank-number{color:#a0673a}.song-detail .song-artist{text-align:center;font-size:1.563rem;margin-bottom:1rem}.song-detail h1{text-align:center}@keyframes rank-enter{from{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.song-album-art{max-width:20rem;margin:2rem auto}.song-album-art img{border-radius:8px;box-shadow:0 1px 3px 0 rgba(0,0,0,.05),0 1px 2px 0 rgba(0,0,0,.025)}.song-data{max-width:40rem;margin:2rem auto;padding:1.5rem;background:#f7f7f7;border-radius:12px;border:1px solid #d4d4d4}.song-data-grid{display:grid;grid-template-columns:1fr;gap:0}.song-data-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid rgba(212,212,212,.5);font-size:.8rem}.song-data-row:last-child{border-bottom:none}.song-data-row dt{color:#777777;text-transform:uppercase;font-size:.75rem;letter-spacing:.5px;font-weight:500}.song-data-row dd{color:#333333;text-align:right}.song-data-row .mono{font-variant-numeric:tabular-nums;font-family:"SF Mono","Menlo","Monaco","Courier New",monospace;font-size:.8rem}.song-data-firstlisten dd{font-style:italic;color:#555555}.song-side-note{max-width:40rem;margin:2rem auto;padding:1.5rem 2rem;background:rgba(246,198,0,.06);border-left:3px solid #f6c600;border-radius:0 8px 8px 0}.song-side-note h2{font-size:.8rem;text-transform:uppercase;letter-spacing:1px;color:#555555;margin-bottom:.75rem}.song-side-note p{max-width:100% !important;padding:0 !important;line-height:1.7;color:#333333;margin:.75rem 0 !important}.song-pull-quote{max-width:40rem;margin:2rem auto;background:none;border-left:none}.song-pull-quote p{font-family:"Name Sans";font-weight:500;font-size:1.953rem;line-height:1.4;text-align:center;font-style:italic;color:#1a1a1a;padding:1rem !important}.song-fun-fact{max-width:40rem;margin:1rem auto;padding:1rem 1.5rem;background:rgba(27,46,103,.04);border-radius:8px;font-size:.8rem;color:#555555;line-height:1.5}.song-fun-fact strong{color:#333333}.song-links{display:flex;justify-content:center;gap:1rem;margin:2rem auto;max-width:40rem}.song-link{display:inline-block;padding:.6rem 1.5rem;border-radius:100px;font-size:.8rem;font-weight:500;color:#f7f7f7;text-align:center;transition:transform .2s ease-in-out,opacity .2s ease}.song-link:hover{transform:translateY(-2px);opacity:.9}.song-link.spotify{background:#1db954}.song-link.apple{background:#fc3c44}.song-link.youtube{background:#ff0000}.song-nav{max-width:40rem;margin:0 auto}.song-tags{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;max-width:40rem;margin:1.5rem auto}.song-tag{display:inline-block;background-color:#f7f7f7;color:#555555;padding:.25rem .75rem;border-radius:100px;font-size:.8rem;border:1px solid #d4d4d4;transition:background-color .2s ease,color .2s ease}.song-tag:hover{background-color:#1a1a1a;color:#f7f7f7;border-color:#1a1a1a}.song-fav-lyric{max-width:40rem;margin:2rem auto;padding:1.5rem 2rem;text-align:center}.song-fav-lyric .song-fav-label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:1.5px;color:#777777;margin-bottom:.75rem;font-weight:500}.song-fav-lyric .song-fav-lyric-text{font-family:"Name Sans";font-weight:500;font-size:1.953rem;line-height:1.5;font-style:italic;color:#1a1a1a;background:none;padding:0;margin:0}.song-fav-lyric .song-fav-timestamp{display:inline-block;margin-top:.75rem;font-size:.75rem;font-variant-numeric:tabular-nums;font-family:"SF Mono","Menlo","Monaco","Courier New",monospace;color:#777777;background:rgba(212,212,212,.5);padding:.15rem .5rem;border-radius:4px}.song-fav-part{max-width:40rem;margin:1.5rem auto;padding:1rem 1.5rem;background:rgba(210,86,48,.04);border-left:3px solid #d25630;border-radius:0 8px 8px 0}.song-fav-part .song-fav-label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:1.5px;color:#777777;margin-bottom:.5rem;font-weight:500}.song-fav-part .song-fav-part-desc{max-width:100% !important;padding:0 !important;margin:0 !important;font-weight:500;color:#333333}.song-fav-part .song-fav-timestamp{display:inline-block;margin-top:.5rem;font-size:.75rem;font-variant-numeric:tabular-nums;font-family:"SF Mono","Menlo","Monaco","Courier New",monospace;color:#777777}.song-fav-part .song-fav-play{display:inline-block;margin-top:.5rem;margin-left:.5rem;font-size:.8rem;color:#d25630;font-weight:500;transition:opacity .2s ease}.song-fav-part .song-fav-play:hover{opacity:.7}.song-categories-section{max-width:40rem;margin:2rem auto;display:flex;flex-direction:column;gap:1rem}.song-category-card{padding:1.25rem 1.5rem;background:rgba(47,109,36,.04);border-left:3px solid rgba(47,109,36,.4);border-radius:0 8px 8px 0}.song-category-name{font-size:.75rem;text-transform:uppercase;letter-spacing:1.5px;color:#555555;margin-bottom:.75rem;font-weight:600}.song-category-desc{font-size:.8rem;color:#777777;margin-bottom:.5rem}.song-category-list{list-style:none;padding:0;margin:0}.song-category-list li{padding:.35rem 0;font-size:.8rem;line-height:1.4;display:flex;align-items:baseline;gap:.5rem;border-bottom:1px solid rgba(212,212,212,.3);margin:0}.song-category-list li:last-child{border-bottom:none}.song-category-list li a{display:flex;align-items:baseline;gap:.5rem;color:#333333;transition:color .15s ease}.song-category-list li a:hover{color:#d25630}.song-category-list .song-category-current{font-weight:700;background:rgba(47,109,36,.06);margin:0 -.75rem;padding-left:.75rem;padding-right:.75rem;border-radius:4px;border-bottom-color:transparent}.song-category-list .song-category-rank{font-variant-numeric:tabular-nums;color:#777777;min-width:1.25rem;font-weight:500}.song-category-current .song-category-list .song-category-rank{color:#333333}.song-category-list .song-category-title{font-weight:inherit}.song-category-list .song-category-artist{color:#777777}.song-category-list .song-category-artist::before{content:"— "}.song-essay{max-width:40rem;margin:2rem auto}.song-essay p{max-width:100% !important;padding:0 !important;line-height:1.7;margin:1rem 0 !important}.song-essay h2,.song-essay h3{margin:2rem 0 .75rem}.song-essay blockquote{border-left:3px solid #d4d4d4;padding-left:1rem;font-style:italic;color:#555555}.song-essay img{border-radius:8px;margin:1.5rem auto}.song-fav-audio{display:block;width:100%;margin-top:.75rem;border-radius:8px}.song-takeover{display:none;position:fixed;inset:0;z-index:100}.song-takeover.active{display:block}.song-takeover-backdrop{position:absolute;inset:0;background:rgba(13,13,13,0);transition:background .4s cubic-bezier(.16,1,.3,1)}.song-takeover.visible .song-takeover-backdrop{background:rgba(13,13,13,.5)}.song-takeover-panel{position:absolute;bottom:0;left:0;right:0;max-height:92vh;background:#f7f7f7;border-radius:16px 16px 0 0;transform:translateY(100%);transition:transform .4s cubic-bezier(.16,1,.3,1);box-shadow:0 -4px 40px rgba(13,13,13,.15)}.song-takeover.visible .song-takeover-panel{transform:translateY(0)}.song-takeover-close{position:sticky;top:0;z-index:2;float:right;margin:1rem 1.25rem 0 0;background:rgba(212,212,212,.6);border:none;border-radius:50%;width:2rem;height:2rem;font-size:1.563rem;line-height:1;color:#555555;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease;backdrop-filter:blur(8px)}.song-takeover-close:hover{background:rgba(119,119,119,.4)}.song-takeover-scroll{overflow-y:auto;max-height:92vh;padding:0 1rem 3rem;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.song-takeover-scroll .song-detail{max-width:56rem;margin:0 auto;padding-top:1rem}.song-takeover-scroll .rank-hero{animation:rank-enter .6s cubic-bezier(.16,1,.3,1).2s forwards;opacity:0}.song-takeover-scroll .song-album-art{max-width:20rem;margin:1.5rem auto}.song-takeover-scroll .song-data,.song-takeover-scroll .song-essay,.song-takeover-scroll .song-fav-lyric,.song-takeover-scroll .song-fav-part,.song-takeover-scroll .song-fun-fact,.song-takeover-scroll .song-category-card,.song-takeover-scroll .song-pull-quote,.song-takeover-scroll .song-links,.song-takeover-scroll .song-tags{max-width:100%}.left a,.right a{transition:transform .2s ease-in-out}.projectsgrid .child{border-radius:6px;transition:transform .2s ease-in-out,background .2s ease-in-out,box-shadow .2s ease-in-out}.projectsgrid .child:hover{background:rgba(251,251,251,.8);backdrop-filter:blur(20px)saturate(180%);-webkit-backdrop-filter:blur(20px)saturate(180%);box-shadow:0 4px 2px rgba(0,0,0,.08),0 0 0 1px rgba(0,0,0,.04);transform:translateY(-2px)}.albumgrid .child{transition:transform .2s ease-in-out}.albumgrid .child:hover{transform:translateY(-2px)}.left a:hover{transform:translateX(-.2rem)}.right a:hover{transform:translateX(.2rem)}.logo:hover{height:6.5rem;transform:translateY(-.5rem)}.elevator{position:sticky;padding:2rem;background-color:#333333;display:block;text-align:center;width:30px;bottom:1rem;right:1rem;transition:bottom .2s ease-in-out}.elevator:hover{bottom:2.25rem}.elevator a:hover{text-decoration:none}.elevator-button{cursor:pointer}.tags{text-align:center;display:block;font-size:.8rem}.type-tag{background-color:#f7f7f7;color:#777777;padding:.25rem .5rem;margin:.25rem;border-radius:3px;display:inline-block;font-size:.8rem;text-transform:uppercase}@media(min-width:40rem){h1{font-size:3.815rem}hr{max-width:40%}.headline,.articletop{margin:2rem 0}.page,.home{width:100%;margin:4rem 0;justify-self:center}.home + article{margin-bottom:4rem}#menu{position:sticky;top:1rem;bottom:auto;left:0;right:0;order:-1;display:block;pointer-events:auto}#menu nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;max-width:68rem;margin:0 auto;width:auto}#menu .menu-left{justify-self:start;display:flex;align-items:center}#menu .menu-logo{display:block;line-height:0}#menu .menu-center{justify-self:center;width:auto}#menu li{flex:initial}#menu li a{padding:.35rem 1rem}#menu ul{gap:.25rem}.grid{grid-template-columns:repeat(12,1fr)}.grid > .column{grid-column:span var(--columns)}.twogrid{display:grid;grid-template-columns:2fr 1fr;max-width:74rem}.twogrid .experience{font-size:1.25rem}.twogrid .experience p{margin-right:4rem}.role-excerpt{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}.role-excerpt .projectmeta{order:-1;line-height:1.375}.role-excerpt .projectmeta h3{margin-bottom:.2rem}.role-excerpt .projectmeta h4{margin-bottom:.35rem}.albumgrid li{border-radius:2px}.page .albumgrid{grid-template-columns:repeat(3,1fr)}.home .albumgrid{grid-template-columns:repeat(3,36%);scroll-margin:0 0 0 50px;overflow-x:auto}.home .projectsgrid .child{padding:.5rem;margin:-.5rem}.minigrid{grid-auto-columns:calc(33.333% - .33rem);overflow:hidden}.minigrid.two{grid-auto-columns:calc(50% - .25rem)}.minigrid figure{margin:0}.post p,.post ul,.post ol,audio,.aboutme p,.albumgrid ul,.projectsgrid ul{padding:0}.post img{margin:2rem auto 0;border-radius:2px}figure.em{max-width:64rem;display:block;margin:2rem auto 0;border-radius:0}.em:nth-of-type(odd)> img{width:50%;float:right;margin-top:0}.em:nth-of-type(even)> img{width:50%;margin-top:0;float:left}.third > img{width:33.3334%;float:left}.strong img,figure.strong{max-width:100%;max-height:100vh;padding:0;margin-bottom:3rem}figure.third{margin:0 auto;padding:0}figure.third img{padding:1rem .5rem;background-color:transparent}.medium img{max-width:40rem;margin:2rem auto;display:block}.project img{display:block;margin:0 auto}.browser img{box-shadow:rgba(0,0,0,.078)0px 5px 10px 1px,rgba(0,0,0,0)0px 0px 0px 0px,rgb(246,248,249)0px 0px 2px 0px inset}.device img{box-shadow:none;padding:1rem !important}.projectcover img{vertical-align:top;margin:0 auto;position:relative}.small img{max-width:25rem;margin:auto}figure.device.third{max-width:64rem}.aboutme{margin:2rem 1rem 0}footer{margin:0 auto}.elevator{bottom:2rem}.gridbox{margin:2rem}iframe{height:480px;padding:0}.extra{display:inline}.bottomnav{white-space:nowrap;text-overflow:ellipsis}.bottom{float:right;text-align:right;margin-right:4rem}div.guggenheim.gallery.zoom{margin:0 auto}.songs-hero-content h1{font-size:3.815rem}.rankings-list{grid-template-columns:repeat(2,1fr)}.song-card-play{opacity:.7}.song-detail .rank-number{font-size:4.768rem}.song-album-art{max-width:24rem}}@media(min-width:64rem){.songs-hero-content h1{font-size:4.768rem}.rankings-list{grid-template-columns:repeat(3,1fr)}iframe{width:850px;height:480px}.aboutme{margin:2rem auto 4rem}.safari{border:1px #f2f2f2 solid;border-top:24px #f2f2f2 solid;border-radius:8px 8px 0 0}.safari::before{content:"";height:8px;width:8px;background-color:#f6c600;position:absolute;border-radius:50%;left:8px;top:-16px}.safari::after{content:"";height:8px;width:8px;background-color:#2f6d24;position:absolute;border-radius:50%;left:24px;top:-16px}.iphone img{border:10px #f2f2f2 solid !important;border-top:30px #f2f2f2 solid !important;border-bottom:30px #f2f2f2 solid !important;padding:0 !important;width:calc(33.3334% - 40px)!important;border-radius:8px;margin:2rem 10px}}@media screen and (prefers-color-scheme:dark){body{background-color:black}body,h1,h2,h3,h4,footer,p,li,mark,.experience p,.projectsgrid a,h1 a,article ul li{color:#f2f2f2}#menu li a{color:rgba(153,153,153,.6)}#menu li > .currentpage{color:#f7f7f7 !important}#menu #menu-pill{background:rgba(247,247,247,.15);box-shadow:0 1px 3px rgba(0,0,0,.2)}#menu .menu-center{background:rgba(26,26,26,.8);border:1px solid rgba(247,247,247,.1);box-shadow:0 4px 2px rgba(0,0,0,.3)}.projectsgrid .child,.side{background:#1a1a1a;border:0}.projectsgrid .child ul,.side ul{list-style:circle}.projectsgrid .child:hover{background:rgba(26,26,26,.8);backdrop-filter:blur(20px)saturate(180%);-webkit-backdrop-filter:blur(20px)saturate(180%);box-shadow:0 4px 2px rgba(0,0,0,.3),0 0 0 1px rgba(247,247,247,.1)}.disco-ball-core{background:radial-gradient(circle at 35% 35%,#444,#111 70%)}.disco-ball{box-shadow:0 0 22px 6px rgba(255,255,255,.06)}.disco-toggle:hover .disco-ball,.disco-toggle:focus-visible .disco-ball{box-shadow:0 0 0 3px transparent,0 0 0 4px rgba(255,255,255,.18),0 0 18px 6px rgba(255,255,255,.1),0 0 34px 12px rgba(255,255,255,.04)}.safari{border:1px #333333 solid !important;border-top:24px #333333 solid !important}.albumgrid::after{background:linear-gradient(90deg,rgba(0,0,0,0),rgba(13,13,13,.6))!important}#container{background-color:#1a1a1a}blockquote{background-color:#333333}.type-tag{background-color:#333333;color:rgba(119,119,119,.8)}.iphone img{border-color:#333333 !important}.songs-hero{background:#0d0d0d}.songs-hero-content h1{color:#f7f7f7}.songs-hero-content h4{color:rgba(255,255,255,.7)}.song-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.4)}.song-card-play{background:rgba(119,119,119,.3)}.song-card-play .play-icon{border-color:transparent transparent transparent #f2f2f2}.song-card-play.playing .play-icon{border-color:transparent;border-left-color:#f2f2f2;border-right-color:#f2f2f2}.side{background:#333333;border:0}.projectcover{outline-color:rgba(255,255,255,.08);box-shadow:0 1px 3px 0 rgba(0,0,0,.15),0 1px 2px 0 rgba(0,0,0,.08)}.projectsgrid .child:hover .projectcover{box-shadow:0 2px 6px 0 rgba(0,0,0,.25),0 2px 4px 0 rgba(0,0,0,.12)}.stack-layer{border-color:rgba(255,255,255,.05)}.stack-layer.layer-1{box-shadow:0 1px 1px rgba(0,0,0,.25),0 2px 4px rgba(0,0,0,.2),0 4px 10px rgba(0,0,0,.15)}.stack-layer.layer-2{box-shadow:0 1px 1px rgba(0,0,0,.2),0 2px 6px rgba(0,0,0,.15),0 6px 14px rgba(0,0,0,.12)}.song-data{background:#1a1a1a;border-color:rgba(119,119,119,.2)}.song-data-row{border-bottom-color:rgba(119,119,119,.15)}.song-data-row dd{color:#f2f2f2}.song-data-row .mono{color:#f2f2f2}.song-side-note{background:rgba(246,198,0,.04)}.song-side-note p{color:#f2f2f2 !important}.song-pull-quote p{color:#f2f2f2}.song-fun-fact{background:rgba(27,46,103,.08);color:rgba(119,119,119,.8)}.song-fun-fact strong{color:#f2f2f2}.song-detail .rank-number{color:rgba(119,119,119,.6)}.song-detail .rank-tier-gold .rank-number{color:#c8a415}.song-detail .rank-tier-silver .rank-number{color:#8a8d90}.song-detail .rank-tier-bronze .rank-number{color:#a0673a}.song-tag{background:#1a1a1a;border-color:rgba(119,119,119,.3);color:rgba(119,119,119,.8)}.song-tag:hover{background:#f2f2f2;color:#1a1a1a;border-color:#f2f2f2}.song-fav-lyric .song-fav-lyric-text{color:#f2f2f2}.song-fav-part{background:rgba(210,86,48,.06)}.song-fav-part .song-fav-part-desc{color:#f2f2f2}.song-category-card{background:rgba(47,109,36,.06)}.song-category-list li a{color:#f2f2f2}.song-category-list .song-category-current{background:rgba(47,109,36,.1)}.song-essay p{color:#f2f2f2 !important}.song-essay blockquote{border-left-color:rgba(119,119,119,.3)}.song-fav-audio{filter:invert(1)}.song-takeover-panel{background:#0d0d0d}.song-takeover-close{background:rgba(119,119,119,.2);color:#f2f2f2}.song-takeover-close:hover{background:rgba(119,119,119,.35)}a{color:#f2f2f2}.link{color:#e0896f}}html.dark body{background-color:black}html.dark body,html.dark h1,html.dark h2,html.dark h3,html.dark h4,html.dark footer,html.dark p,html.dark li,html.dark mark,html.dark .experience p,html.dark .projectsgrid a,html.dark h1 a,html.dark article ul li{color:#f2f2f2}html.dark #menu li a{color:rgba(153,153,153,.6)}html.dark #menu li > .currentpage{color:#f7f7f7 !important}html.dark #menu #menu-pill{background:rgba(247,247,247,.15);box-shadow:0 1px 3px rgba(0,0,0,.2)}html.dark #menu .menu-center{background:rgba(26,26,26,.8);border:1px solid rgba(247,247,247,.1);box-shadow:0 4px 2px rgba(0,0,0,.3)}html.dark .projectsgrid .child,html.dark .side{background:#1a1a1a;border:0}html.dark .projectsgrid .child ul,html.dark .side ul{list-style:circle}html.dark .projectsgrid .child:hover{background:rgba(26,26,26,.8);backdrop-filter:blur(20px)saturate(180%);-webkit-backdrop-filter:blur(20px)saturate(180%);box-shadow:0 4px 2px rgba(0,0,0,.3),0 0 0 1px rgba(247,247,247,.1)}html.dark .disco-ball-core{background:radial-gradient(circle at 35% 35%,#444,#111 70%)}html.dark .disco-ball{box-shadow:0 0 22px 6px rgba(255,255,255,.06)}html.dark .disco-toggle:hover .disco-ball,html.dark .disco-toggle:focus-visible .disco-ball{box-shadow:0 0 0 3px transparent,0 0 0 4px rgba(255,255,255,.18),0 0 18px 6px rgba(255,255,255,.1),0 0 34px 12px rgba(255,255,255,.04)}html.dark .safari{border:1px #333333 solid !important;border-top:24px #333333 solid !important}html.dark .albumgrid::after{background:linear-gradient(90deg,rgba(0,0,0,0),rgba(13,13,13,.6))!important}html.dark #container{background-color:#1a1a1a}html.dark blockquote{background-color:#333333}html.dark .type-tag{background-color:#333333;color:rgba(119,119,119,.8)}html.dark .iphone img{border-color:#333333 !important}html.dark .songs-hero{background:#0d0d0d}html.dark .songs-hero-content h1{color:#f7f7f7}html.dark .songs-hero-content h4{color:rgba(255,255,255,.7)}html.dark .song-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.4)}html.dark .song-card-play{background:rgba(119,119,119,.3)}html.dark .song-card-play .play-icon{border-color:transparent transparent transparent #f2f2f2}html.dark .song-card-play.playing .play-icon{border-color:transparent;border-left-color:#f2f2f2;border-right-color:#f2f2f2}html.dark .side{background:#333333;border:0}html.dark .projectcover{outline-color:rgba(255,255,255,.08);box-shadow:0 1px 3px 0 rgba(0,0,0,.15),0 1px 2px 0 rgba(0,0,0,.08)}html.dark .projectsgrid .child:hover .projectcover{box-shadow:0 2px 6px 0 rgba(0,0,0,.25),0 2px 4px 0 rgba(0,0,0,.12)}html.dark .stack-layer{border-color:rgba(255,255,255,.05)}html.dark .stack-layer.layer-1{box-shadow:0 1px 1px rgba(0,0,0,.25),0 2px 4px rgba(0,0,0,.2),0 4px 10px rgba(0,0,0,.15)}html.dark .stack-layer.layer-2{box-shadow:0 1px 1px rgba(0,0,0,.2),0 2px 6px rgba(0,0,0,.15),0 6px 14px rgba(0,0,0,.12)}html.dark .song-data{background:#1a1a1a;border-color:rgba(119,119,119,.2)}html.dark .song-data-row{border-bottom-color:rgba(119,119,119,.15)}html.dark .song-data-row dd{color:#f2f2f2}html.dark .song-data-row .mono{color:#f2f2f2}html.dark .song-side-note{background:rgba(246,198,0,.04)}html.dark .song-side-note p{color:#f2f2f2 !important}html.dark .song-pull-quote p{color:#f2f2f2}html.dark .song-fun-fact{background:rgba(27,46,103,.08);color:rgba(119,119,119,.8)}html.dark .song-fun-fact strong{color:#f2f2f2}html.dark .song-detail .rank-number{color:rgba(119,119,119,.6)}html.dark .song-detail .rank-tier-gold .rank-number{color:#c8a415}html.dark .song-detail .rank-tier-silver .rank-number{color:#8a8d90}html.dark .song-detail .rank-tier-bronze .rank-number{color:#a0673a}html.dark .song-tag{background:#1a1a1a;border-color:rgba(119,119,119,.3);color:rgba(119,119,119,.8)}html.dark .song-tag:hover{background:#f2f2f2;color:#1a1a1a;border-color:#f2f2f2}html.dark .song-fav-lyric .song-fav-lyric-text{color:#f2f2f2}html.dark .song-fav-part{background:rgba(210,86,48,.06)}html.dark .song-fav-part .song-fav-part-desc{color:#f2f2f2}html.dark .song-category-card{background:rgba(47,109,36,.06)}html.dark .song-category-list li a{color:#f2f2f2}html.dark .song-category-list .song-category-current{background:rgba(47,109,36,.1)}html.dark .song-essay p{color:#f2f2f2 !important}html.dark .song-essay blockquote{border-left-color:rgba(119,119,119,.3)}html.dark .song-fav-audio{filter:invert(1)}html.dark .song-takeover-panel{background:#0d0d0d}html.dark .song-takeover-close{background:rgba(119,119,119,.2);color:#f2f2f2}html.dark .song-takeover-close:hover{background:rgba(119,119,119,.35)}html.dark a{color:#f2f2f2}html.dark .link{color:#e0896f}@media screen and (prefers-color-scheme:dark){html.light body{background-color:white}html.light body,html.light h1,html.light h2,html.light h3,html.light h4,html.light footer,html.light p,html.light li,html.light mark,html.light .experience p,html.light .projectsgrid a,html.light h1 a,html.light article ul li{color:#1a1a1a}html.light #container{background-color:#fbfbfb}html.light #menu .menu-center{background:rgba(251,251,251,.8)}html.light #menu li a{color:#999999}html.light #menu li > .currentpage{color:#1a1a1a !important}html.light a{color:#1a1a1a}html.light .link{color:#d25630}html.light .projectcover{outline-color:rgba(0,0,0,.05);box-shadow:0 1px 3px 0 rgba(0,0,0,.05),0 1px 2px 0 rgba(0,0,0,.025)}html.light .stack-layer{border-color:rgba(0,0,0,.05)}html.light .projectsgrid .child{background:transparent;border:0}html.light .side{background:#f2f2f2;border:0}}@keyframes disco-rotate{0%{transform:rotateX(90deg)rotateZ(0deg)}100%{transform:rotateX(90deg)rotateZ(360deg)}}@keyframes disco-reflect{0%{opacity:1}50%{opacity:.3}100%{opacity:1}}.disco-ball{position:relative;display:inline-block;border-radius:50%;box-shadow:0 0 20px 6px rgba(0,0,0,.04);transition:box-shadow .3s ease}.disco-toggle:hover .disco-ball,.disco-toggle:focus-visible .disco-ball{box-shadow:0 0 0 3px transparent,0 0 0 4px rgba(0,0,0,.1),0 0 16px 6px rgba(0,0,0,.07),0 0 30px 10px rgba(0,0,0,.03)}.disco-ball-core{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;background:radial-gradient(circle at 35% 35%,#ccc,#999 70%)}.disco-ball-sphere{transform-style:preserve-3d;will-change:transform;width:100%;height:100%;position:relative;animation:disco-rotate 40s linear infinite}.disco-tile{position:absolute;top:50%;left:50%;transform-origin:0 0 0;backface-visibility:hidden;animation:disco-reflect 1s linear infinite}.disco-paused .disco-ball-sphere,.disco-paused .disco-tile{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.disco-ball-sphere,.disco-tile{animation:none !important}}.menu-right{position:fixed;top:calc(1rem + 12px);right:1rem;z-index:11;display:flex;align-items:center}@media(min-width:40rem){.menu-right{position:static;z-index:auto;justify-self:end}}.emergency-btn-wrapper{display:flex;align-items:center;position:relative;width:0;overflow:hidden;transition:width .6s cubic-bezier(.34,1.56,.64,1)}.emergency-btn-wrapper.visible{width:140px;overflow:visible}@media(min-width:40rem){.emergency-btn-wrapper.visible{width:180px}}.emergency-btn{width:40px;height:40px;border-radius:50%;border:none;background:none;cursor:pointer;position:relative;transition:transform .15s,filter .3s;-webkit-tap-highlight-color:transparent;flex-shrink:0;padding:0}@media(min-width:40rem){.emergency-btn{width:56px;height:56px}}.emergency-btn img{width:100%;height:100%;display:block;border-radius:50%;transition:box-shadow .15s ease;box-shadow:0 4px 6px rgba(0,0,0,.25),0 8px 16px rgba(0,0,0,.2),0 14px 28px rgba(0,0,0,.15)}.emergency-btn:hover{filter:brightness(1.1);transform:scale(1.05)translateY(-1px)}.emergency-btn:hover img{box-shadow:0 6px 8px rgba(0,0,0,.25),0 10px 20px rgba(0,0,0,.2),0 18px 34px rgba(0,0,0,.15)}.emergency-btn::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2.5px solid transparent;transition:border-color .15s}.emergency-btn.charging{transform:scale(.92)translateY(2px)}.emergency-btn.charging::after{border-color:#d25630;animation:charge-ring .4s linear forwards}.emergency-btn.charging img{box-shadow:0 1px 2px rgba(0,0,0,.2),0 2px 6px rgba(0,0,0,.15)}.emergency-btn.active{filter:brightness(.85)saturate(1.2);animation:none}.emergency-btn.active::after{border-color:#d25630;animation:none;clip-path:none}.emergency-label{white-space:nowrap;font-family:"SF Mono",SFMono-Regular,ui-monospace,Menlo,monospace;font-size:9px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:#d25630;margin-right:8px;opacity:0;animation:label-fade-in .4s .5s ease forwards;pointer-events:none}@media(min-width:40rem){.emergency-label{font-size:10px;margin-right:10px}}.emergency-btn-wrapper.visible .emergency-btn:not(.charging):not(.active){animation:btn-wiggle 2s ease-in-out infinite}.emergency-btn-wrapper:has(.emergency-btn.active).emergency-label{opacity:0 !important;animation:none}@keyframes label-fade-in{from{opacity:0;transform:translateX(6px)}to{opacity:1;transform:translateX(0)}}@keyframes charge-ring{0%{clip-path:polygon(50% 50%,50% 0%,50% 0%)}12.5%{clip-path:polygon(50% 50%,50% 0%,100% 0%)}25%{clip-path:polygon(50% 50%,50% 0%,100% 0%,100% 50%)}37.5%{clip-path:polygon(50% 50%,50% 0%,100% 0%,100% 100%)}50%{clip-path:polygon(50% 50%,50% 0%,100% 0%,100% 100%,50% 100%)}62.5%{clip-path:polygon(50% 50%,50% 0%,100% 0%,100% 100%,0% 100%)}75%{clip-path:polygon(50% 50%,50% 0%,100% 0%,100% 100%,0% 100%,0% 50%)}87.5%{clip-path:polygon(50% 50%,50% 0%,100% 0%,100% 100%,0% 100%,0% 0%)}100%{clip-path:polygon(50% 50%,50% 0%,100% 0%,100% 100%,0% 100%,0% 0%,50% 0%)}}@keyframes btn-wiggle{0%,100%{transform:scale(1)rotate(0deg)}15%{transform:scale(1.12)rotate(-6deg)}30%{transform:scale(1.08)rotate(4deg)}45%{transform:scale(1.1)rotate(-3deg)}60%{transform:scale(1.06)rotate(2deg)}75%{transform:scale(1)rotate(0deg)}}.disco-ball-stage{overflow:hidden;max-height:0;margin-bottom:0;opacity:0;transition:max-height .8s cubic-bezier(.22,1,.36,1),margin-bottom .8s cubic-bezier(.22,1,.36,1),opacity .5s ease;display:flex;justify-content:center}.disco-ball-stage.visible{max-height:120px;margin-bottom:2rem;opacity:1}.disco-ball-stage.retracting{max-height:0;margin-bottom:0;opacity:0;transition:max-height .5s cubic-bezier(.55,0,1,.45),margin-bottom .5s cubic-bezier(.55,0,1,.45),opacity .3s ease}.disco-ball-big{width:108px;height:108px;position:relative;flex-shrink:0}.page-content-body{transition:opacity .8s ease}body.party-mode .page-content-body{opacity:.6}.disco-reflections{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;opacity:0;transition:opacity .8s ease}.disco-reflections.visible{opacity:1}.disco-ref{position:absolute;border-radius:50%;animation:ref-drift linear infinite,ref-flicker ease-in-out infinite}@keyframes ref-drift{0%{transform:translate(0,0)}25%{transform:translate(var(--dx1),var(--dy1))}50%{transform:translate(var(--dx2),var(--dy2))}75%{transform:translate(var(--dx3),var(--dy3))}100%{transform:translate(0,0)}}@keyframes ref-flicker{0%,100%{opacity:var(--ref-max)}50%{opacity:var(--ref-min)}}body.party-mode{background-color:#1a0a06 !important;transition:background-color .6s ease}body.party-mode #container{background-color:transparent !important}body.party-mode,body.party-mode h1,body.party-mode h2,body.party-mode h3,body.party-mode h4{color:#fef2ee !important}body.party-mode p,body.party-mode li,body.party-mode article ul li,body.party-mode .experience p{color:#f09878 !important}body.party-mode mark{color:#fef2ee !important;background:rgba(210,86,48,.3)!important}body.party-mode a{color:#d25630 !important}body.party-mode .side{background:rgba(210,86,48,.08)!important;border-color:rgba(210,86,48,.2)!important}body.party-mode .side h3{color:#fce0d8 !important}body.party-mode .projectsgrid .child{background:rgba(210,86,48,.08)!important;border-color:rgba(210,86,48,.15)!important}body.party-mode .projectsgrid a{color:#f8bfad !important}body.party-mode #menu{background:rgba(26,10,6,.85)!important;border-bottom-color:rgba(210,86,48,.15)!important}body.party-mode #menu a,body.party-mode #menu li a{color:#f8bfad !important}body.party-mode #menu a.currentpage,body.party-mode #menu li > .currentpage{color:#fef2ee !important}body.party-mode #menu .menu-center{background:rgba(26,10,6,.85)!important;border-color:rgba(210,86,48,.15)!important}body.party-mode #menu #menu-pill{background:rgba(210,86,48,.25)!important}@view-transition{navigation:auto}::view-transition-group(root){animation-duration:.15s}