:root{--font-sans: "UntitledSans", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-mono: "IBMPlexMono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--text-xs: 12px;--text-sm: 13px;--text-base: 15px;--text-md: 17px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 22px;--text-3xl: 26px;--text-4xl: 28px;--leading-xs: 16px;--leading-sm: 18px;--leading-base: 20px;--leading-md: 22px;--leading-lg: 25px;--leading-xl: 26px;--leading-2xl: 28px;--leading-3xl: 32px;--leading-4xl: 34px;--tracking-none: 0;--tracking-xs: -.41px;--tracking-sm: -.43px;--tracking-base: -.45px;--tracking-tight: -.54px;--tracking-tight-1: -.66px;--tracking-tight-2: -.78px;--tracking-tight-3: -1.21px;--tracking-tight-4: -1.64px;--rounded-sm: 8px;--rounded-md: 10px;--rounded-lg: 12px;--rounded-xl: 14px;--rounded-2xl: 16px;--rounded-3xl: 24px;--rounded-full: 9999px;--blur-xs: 4px;--blur-sm: 8px;--blur-md: 12px;--blur-xl: 24px;--transition: .15s cubic-bezier(.4, 0, .2, 1);--player-height: 58px}[data-theme=dark]{--black-hsl: 0, 0%, 10%;--white-hsl: 0, 0%, 100%;--color-primary-bg: #111111;--color-secondary-bg: #1a1a1a;--color-tertiary-bg: #252525;--color-elevated-bg: linear-gradient(180deg, #242424 0%, #101010 100%);--color-surface-frost: rgba(14, 14, 14, .97);--color-primary-label: #ffffff;--color-secondary-label: #7e7e7e;--color-tertiary-label: #a6a6a6;--color-disabled: #4c4c4c;--color-border: hsla(var(--white-hsl), .1);--color-hover: hsla(var(--white-hsl), .05);--color-shading: hsla(var(--white-hsl), .05);--color-shading-dark: hsla(var(--white-hsl), .2);--color-btn-primary-bg: linear-gradient(180deg, #3a3a3a 0%, #242424 100%);--color-btn-primary-label: #ffffff;--color-btn-secondary-bg: #2e2e2e;--color-btn-secondary-label: #ffffff;--color-input-bg: #242424;--color-input-border: hsla(var(--white-hsl), .12);--color-input-placeholder: #4c4c4c}[data-theme=light]{--black-hsl: 0, 0%, 10%;--white-hsl: 0, 0%, 100%;--color-primary-bg: #ffffff;--color-secondary-bg: #eeeeee;--color-tertiary-bg: #f2f2f2;--color-elevated-bg: linear-gradient(180deg, #ffffff 7.69%, #f5f5f5 92.31%);--color-surface-frost: rgba(255, 255, 255, .92);--color-primary-label: #191919;--color-secondary-label: #7e7e7e;--color-tertiary-label: #a6a6a6;--color-disabled: #cccccc;--color-border: hsla(var(--black-hsl), .1);--color-hover: hsla(var(--black-hsl), .04);--color-shading: hsla(var(--black-hsl), .05);--color-shading-dark: hsla(var(--black-hsl), .2);--color-btn-primary-bg: #191919;--color-btn-primary-label: #ffffff;--color-btn-secondary-bg: #eeeeee;--color-btn-secondary-label: #191919;--color-input-bg: #f2f2f2;--color-input-border: hsla(var(--black-hsl), .1);--color-input-placeholder: #b6b6b6}@font-face{font-family:UntitledSans;src:url(/assets/fonts/UntitledSans-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:UntitledSans;src:url(/assets/fonts/UntitledSans-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:UntitledSans;src:url(/assets/fonts/UntitledSans-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:10px}body{font-family:var(--font-sans);color:var(--color-primary-label);background:var(--color-primary-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input{font-family:inherit}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.home{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;padding:2.4rem;gap:2.4rem;overflow-x:hidden}.home--expanded{justify-content:flex-start;padding-top:max(4rem,8dvh)}.home__disc{width:160px;height:160px;border-radius:50%;overflow:hidden;flex-shrink:0;box-shadow:0 8px 32px #0006;transition:box-shadow .3s ease,transform .3s ease}.home__disc:hover{box-shadow:0 12px 40px #0000008c;transform:scale(1.03)}.home__disc img{width:100%;height:100%;object-fit:cover}.home__disc--spin img{animation:disc-spin 4s linear infinite}.home__disc:hover img{animation-play-state:paused}@keyframes disc-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.home__logo{font-size:2.2rem;font-weight:700;letter-spacing:-.08rem}.home__body{display:flex;flex-direction:column;align-items:stretch;gap:1.4rem;width:100%;max-width:360px}.home__label{font-size:1.3rem;color:var(--color-secondary-label);text-align:center}.home__form{display:flex;flex-direction:column;gap:1rem;width:100%}.home__input{width:100%;height:4.4rem;padding:0 1.4rem;background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:var(--rounded-lg);color:var(--color-primary-label);font-size:1.4rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.home__input::placeholder{color:var(--color-input-placeholder)}.home__input:focus{border-color:#ffffff59;box-shadow:0 0 0 3px #ffffff0d}[data-theme=light] .home__input:focus{border-color:#0000004d;box-shadow:0 0 0 3px #0000000d}.home__submit{height:4.4rem;border-radius:var(--rounded-lg);background:var(--color-btn-primary-bg);color:var(--color-btn-primary-label);font-size:1.4rem;font-weight:500;border:1px solid var(--color-border);transition:opacity .15s ease,transform .1s ease}.home__submit:hover:not(:disabled){opacity:.8}.home__submit:active:not(:disabled){transform:scale(.98)}.home__submit:disabled{opacity:.35;cursor:default}.home__github{align-self:flex-start;font-size:1.15rem;white-space:nowrap;color:var(--color-secondary-label);transition:color .15s ease}.home__github:hover{color:var(--color-primary-label)}.home__error{font-size:1.2rem;color:#f34d4d;text-align:center}@keyframes project-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes track-in{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.home__project{width:100%;max-width:360px;display:flex;flex-direction:column;gap:1.2rem;animation:project-in .25s cubic-bezier(.2,0,.2,1) forwards}.home__project-header{display:flex;align-items:center;gap:1.4rem;padding:1.4rem;background:var(--color-secondary-bg);border:1px solid var(--color-border);border-radius:var(--rounded-xl);transition:border-color .2s ease}.home__project-header:hover{border-color:#ffffff1f}[data-theme=light] .home__project-header:hover{border-color:#0000001f}.home__project-art{width:56px;height:56px;flex-shrink:0;border-radius:var(--rounded-md);object-fit:cover;transition:transform .2s ease}.home__project-header:hover .home__project-art{transform:scale(1.04)}.home__project-art--empty{background:var(--color-tertiary-bg)}.home__project-info{display:flex;flex-direction:column;gap:.3rem;min-width:0}.home__project-name{font-size:1.5rem;font-weight:600;letter-spacing:-.04rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home__project-meta{font-size:1.2rem;color:var(--color-secondary-label)}.home__project-zip{display:flex;align-items:center;justify-content:center;gap:.8rem;height:4.4rem;border-radius:var(--rounded-lg);background:var(--color-btn-primary-bg);color:var(--color-btn-primary-label);font-size:1.4rem;font-weight:500;border:1px solid var(--color-border);transition:opacity .15s ease,transform .1s ease}.home__project-zip:hover:not(:disabled){opacity:.8}.home__project-zip:active:not(:disabled){transform:scale(.98)}.home__project-zip:disabled{opacity:.45;cursor:default}.home__zip-wrap{display:flex;flex-direction:column;gap:.5rem}.home__dl-bar{height:3px;border-radius:9999px;background:var(--color-tertiary-bg);overflow:hidden}.home__dl-bar-fill{height:100%;border-radius:9999px;background:var(--color-primary-label);transition:width .3s ease}.home__track-list{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--rounded-xl);overflow:hidden}.home__track{position:relative;display:flex;align-items:center;gap:1.2rem;padding:.9rem 1.2rem;transition:background .12s ease;opacity:0;animation:track-in .2s ease forwards;overflow:hidden}.home__track+.home__track{border-top:1px solid var(--color-border)}.home__track:hover{background:var(--color-hover)}.home__track-progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--color-tertiary-bg)}.home__track-progress-fill{height:100%;background:var(--color-primary-label);transition:width .25s ease}@keyframes indeterminate{0%{transform:translate(-100%)}to{transform:translate(400%)}}.home__track-progress-fill--indeterminate{width:25%!important;animation:indeterminate 1.1s ease-in-out infinite}.home__track-play{width:2.4rem;height:2.4rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:var(--rounded-sm);color:var(--color-secondary-label);font-size:1.2rem;font-variant-numeric:tabular-nums;transition:color .12s ease,background .12s ease;position:relative}.home__track-play:hover{color:var(--color-primary-label);background:var(--color-hover)}.home__track-play.is-active{color:var(--color-primary-label)}.home__track-play-icon{display:none}.home__track:hover .home__track-play:not(.is-active) .home__track-num-text{display:none}.home__track:hover .home__track-play:not(.is-active) .home__track-play-icon{display:block}.home__track-name{flex:1;min-width:0;overflow:hidden;white-space:nowrap}.home__track-name span{display:inline-block;font-size:1.35rem;font-weight:500;letter-spacing:-.02rem}.home__track-name span:not(.home__track-name--scroll){max-width:100%;text-overflow:ellipsis;overflow:hidden}@keyframes marquee-run{0%,10%{transform:translate(0)}60%,70%{transform:translate(calc(-1 * var(--sd, 0px)))}to{transform:translate(0)}}.home__track:hover .home__track-name--scroll{animation:marquee-run 3.5s ease-in-out infinite;animation-delay:.3s}.home__track-dur{font-family:var(--font-mono);font-size:1.1rem;color:var(--color-secondary-label);flex-shrink:0}.home__track-dl{width:2.8rem;height:2.8rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:var(--rounded-sm);color:#ffffff40;transition:color .12s ease,background .12s ease,transform .1s ease}[data-theme=light] .home__track-dl{color:#00000040}.home__track:hover .home__track-dl{color:var(--color-secondary-label)}.home__track-dl:hover{color:var(--color-primary-label)!important;background:var(--color-hover)}.home__track-dl:active{transform:scale(.88)}@keyframes spin{to{transform:rotate(360deg)}}.spinner{display:inline-block;flex-shrink:0;border-radius:50%;border:2px solid rgba(255,255,255,.18);border-top-color:currentColor;animation:spin .65s linear infinite}[data-theme=light] .spinner{border-color:#00000026;border-top-color:currentColor}.home__theme{position:fixed;top:1.6rem;right:1.6rem;width:3.4rem;height:3.4rem;border-radius:var(--rounded-sm);display:flex;align-items:center;justify-content:center;color:var(--color-secondary-label);transition:color .15s ease,background .15s ease,transform .1s ease}.home__theme:hover{color:var(--color-primary-label);background:var(--color-hover)}.home__theme:active{transform:scale(.9)}
