:root{color-scheme:dark;--bg:#0b0c0f;--panel:#121317;--border:#ffffff12;--border-hover:#ffffff29;--text:#ececef;--muted:#a0a1ab;--faint:#737580;--accent:#c3cef2;--mono:'Cascadia Code','SFMono-Regular',Consolas,monospace;--sans:Inter,'Segoe UI',Arial,sans-serif}
svg.icon{color:#fff!important}
.music-page .page-description{max-width:370px;margin-bottom:28px}.music-page .spotify-now{margin-bottom:34px;background:linear-gradient(135deg,#ffffff0a,#ffffff015)}.music-page .spotify-track{padding:22px}.music-page .spotify-cover,.music-page .spotify-orb{border-color:#ffffff26;background:#ffffff08;color:#fff}.music-page .spotify-copy .card-kicker,.music-page .spotify-open,.music-page .playlist-copy .card-kicker,.music-page .playlist-open,.music-page .playlist-title-link:hover{color:#fff}.music-page .spotify-live-dot{background:#fff;box-shadow:0 0 0 4px #ffffff16}.music-page .spotify-progress{padding:0 22px 20px}.music-page .spotify-progress-track>span{background:#fff;box-shadow:0 0 12px #ffffff38}.music-page .playlist-card{border-color:#ffffff1c;background:linear-gradient(135deg,#ffffff08,#ffffff015)}.music-page .playlist-card:hover{border-color:#ffffff38;background:#ffffff0b}.music-page .playlist-cover,.music-page .playlist-art{border-color:#ffffff24;background:#ffffff08;color:#fff}.music-page .playlist-dropdown{background:#0a0b0eaa;border-color:#ffffff1c}.music-page .playlist-dropdown summary span:last-child::after{color:#fff}.music-page .playlist-pages button:hover:not(:disabled){border-color:#ffffff44;background:#ffffff0e;color:#fff}.music-page .track-preview{background:#ffffff0b;color:#fff}
.music-page .playlist-card{display:block;padding:0;overflow:hidden}.music-page .playlist-card-head{display:flex;align-items:center;gap:15px;padding:16px}.music-page .playlist-card .playlist-dropdown{border:0;border-top:1px solid #ffffff16;border-radius:0;background:transparent}.music-page .playlist-card .playlist-dropdown ol{padding-bottom:8px}.music-page .playlist-card .playlist-pages{padding-bottom:15px}
.setup-app-mark img{filter:brightness(0) invert(1) drop-shadow(0 2px 4px #0008)!important;opacity:.9}
.setup-app-mark img[src="assets/7zip-icon.png"]{filter:drop-shadow(0 2px 4px #0008)!important}
.setup-app-link{color:inherit;text-decoration:none;cursor:pointer}.setup-hardware-open{display:inline-flex;margin-top:10px;padding:5px 8px;font-size:9px;line-height:1}.setup-hardware-open .icon{width:12px;height:12px}.setup-group h2 .icon,.setup-app-mark{color:#fff!important}.setup-app-mark img{opacity:1}
*{box-sizing:border-box}html{min-height:100%;scrollbar-color:#34353c var(--bg);scrollbar-width:thin}body{margin:0;min-height:100vh;background:var(--bg);font:14px/1.7 var(--sans);color:var(--text);-webkit-font-smoothing:antialiased}body::before{content:'';position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 15%,transparent 10%,#090a0de6 90%);z-index:-1}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:#a2b5ff44;color:white}button{border:0}.ambient{position:fixed;inset:-10%;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 32% 23%,#54566f25,transparent 40%),radial-gradient(ellipse at 76% 64%,#3c43591e,transparent 35%);animation:drift 20s ease-in-out infinite alternate}.grain{position:fixed;inset:0;pointer-events:none;opacity:.035;z-index:10;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.6' filter='url(%23n)'/%3E%3C/svg%3E")}.site-header{max-width:1120px;margin:auto;padding:27px 38px;display:flex;align-items:center;gap:25px;height:90px}.brand{font-size:22px;font-weight:750;letter-spacing:-1.5px;line-height:1}.brand>span:first-child{color:#b7b9c4}.brand-dot{color:#8997c6}.header-caption{font-family:var(--mono);font-size:10px;color:var(--faint);letter-spacing:.2px}.icon-button{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--border);border-radius:9px;background:#ffffff03}.site-header .icon-button{margin-left:auto;color:var(--muted)}.icon-button:hover{background:#ffffff0c;border-color:var(--border-hover)}svg.icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.dock{position:fixed;left:max(22px,calc((100vw - 1160px)/2));top:50%;transform:translateY(-50%);border:1px solid var(--border);border-radius:16px;padding:6px;background:#111216c9;backdrop-filter:blur(20px);display:flex;flex-direction:column;gap:5px;z-index:20;box-shadow:0 8px 40px #0003}.dock a{position:relative;width:41px;height:41px;color:var(--faint);border:1px solid transparent;display:grid;place-items:center;border-radius:10px;transition:.18s}.dock a:hover{color:var(--text);background:#ffffff05}.dock a[aria-current=page]{color:#e9ebf5;border-color:#ffffff10;background:linear-gradient(135deg,#ffffff10,#ffffff04);box-shadow:0 1px 4px #0004}.dock a .nav-label{position:absolute;left:55px;top:7px;padding:3px 10px;background:#24252b;border:1px solid #ffffff10;box-shadow:0 3px 15px #0004;border-radius:6px;font-size:11px;opacity:0;pointer-events:none;transform:translateX(-4px);transition:.15s}.dock a:hover .nav-label,.dock a:focus-visible .nav-label{opacity:1;transform:none}main{max-width:728px;min-height:calc(100vh - 190px);margin:0 auto;padding:40px 24px 52px;outline:none}.page{animation:enter .3s ease both}.eyebrow{font-size:11px;display:flex;align-items:center;gap:9px;color:var(--muted);margin:0 0 14px;letter-spacing:.3px}.eyebrow::before{content:'';width:18px;height:1px;background:#555762}.page-title{font-size:44px;line-height:1.1;font-weight:650;letter-spacing:-1.8px;margin:0 0 15px}.page-description{font-size:13px;color:var(--muted);max-width:540px;line-height:1.9;margin:0 0 35px}.home-intro{display:flex;gap:24px;align-items:center;padding:10px 0 28px}.avatar{position:relative;width:85px;height:85px;border:1px solid #ffffff24;border-radius:24px;display:grid;place-items:center;flex-shrink:0;background:radial-gradient(ellipse at 15% 0%,#64739850,transparent 70%),linear-gradient(145deg,#262936,#14151b);box-shadow:inset 0 1px 0 #ffffff18,0 14px 40px #0004}.avatar-letter{font-size:48px;font-weight:400;font-family:Georgia,serif;font-style:italic;margin-top:-6px;color:#d8dbe9}.avatar-star{position:absolute;bottom:-5px;right:-5px;width:23px;height:23px;background:#1b1d25;border:3px solid var(--bg);border-radius:50%;color:#b6c4ec;display:grid;place-items:center;font-size:13px;line-height:1}.home-name{font-size:48px;margin:0;letter-spacing:-2px;line-height:1.1;font-weight:650}.home-handle{font-family:var(--mono);font-size:11px;color:var(--faint);margin:7px 0 0}.hero-headline{font-size:22px;font-weight:450;letter-spacing:-.5px;margin:0 0 10px;line-height:1.4}.hero-bio{font-size:13px;line-height:1.9;color:var(--muted);max-width:530px;margin:0 0 19px}.tags{display:flex;flex-wrap:wrap;gap:7px}.tag{font-family:var(--mono);font-size:10px;color:#a9abb7;background:#ffffff03;border:1px solid var(--border);padding:3px 9px;border-radius:5px}.home-links{display:flex;align-items:center;gap:10px;margin:26px 0 36px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--border-hover);border-radius:7px;background:linear-gradient(#ffffff0b,#ffffff04);padding:8px 13px;font-size:11px;line-height:1.5;color:#d0d2dc;transition:.2s}.button:hover{background:#ffffff12;border-color:#ffffff40;transform:translateY(-1px)}.button svg{width:14px;height:14px}.button-primary{background:#dedfe7;color:#191b23;border-color:#e7e8ef;box-shadow:0 1px 8px #fff1}.button-primary:hover{background:#f6f6fb;border-color:white}.section-heading{display:flex;align-items:center;gap:15px;font-family:var(--mono);font-size:9px;font-weight:400;text-transform:uppercase;letter-spacing:1.3px;color:var(--faint);margin:28px 0 13px}.section-heading::after{content:'';height:1px;flex:1;background:var(--border)}.about-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:12px}.panel{border:1px solid var(--border);border-radius:12px;background:linear-gradient(120deg,#ffffff05,#ffffff01);box-shadow:inset 0 1px 0 #ffffff02}.about-card{padding:20px 22px}.card-kicker{font-family:var(--mono);font-size:9px;color:var(--faint);letter-spacing:.3px;display:flex;align-items:center;gap:8px;margin:0 0 12px}.card-kicker svg{width:13px;height:13px}.about-card p:not(.card-kicker){font-size:12px;color:#aeb0bc;line-height:1.9;margin:0}.current-card{padding:20px 21px;display:flex;flex-direction:column;position:relative;overflow:hidden;background:radial-gradient(ellipse at 100% 100%,#7789ac12,transparent 75%)}.current-card p:not(.card-kicker){font-size:13px;line-height:1.7;margin:0;max-width:155px}.current-status{font-family:var(--mono);font-size:9px;color:var(--faint);margin-top:18px;display:flex;align-items:center;gap:7px}.current-status::before{content:'';background:#a5b494;width:4px;height:4px;border-radius:50%}.explore-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.explore-card{padding:18px 17px;position:relative;transition:.2s;min-height:112px}.explore-card:hover{border-color:var(--border-hover);background:#ffffff05;transform:translateY(-2px)}.explore-card>.icon{width:18px;height:18px;color:#9ba1b4;margin-bottom:12px;display:block}.explore-card h3{font-size:12px;margin:0 0 3px;font-weight:550}.explore-card p{font-size:10px;margin:0;color:var(--faint)}.explore-card>.arrow{position:absolute;right:15px;top:16px;font-size:14px;color:#666b79}.small-note{font-family:var(--mono);font-size:9px;color:var(--faint);margin:20px 0 0;line-height:1.9}.skill-section{margin:31px 0}.skill-section h2{font-size:11px;font-weight:450;color:var(--muted);margin:0 0 14px;display:flex;gap:9px;align-items:center}.skill-section h2 svg{width:15px;height:15px;color:#727788}.skill-list{display:flex;flex-wrap:wrap;gap:9px}.skill{display:inline-flex;gap:9px;align-items:center;border:1px solid #ffffff12;box-shadow:inset 0 1px 0 #ffffff04;border-radius:7px;padding:5px 11px 5px 7px;background:#ffffff03;font-size:12px;color:#c4c5cd;transition:.2s}.skill:hover{background:#ffffff08;border-color:#ffffff26;transform:translateY(-2px)}.skill-mark{font:10px/1.3 var(--mono);display:grid;place-items:center;min-width:21px;height:21px;color:#a8adbd;background:#ffffff06;border-radius:4px}.skill-mark .icon{width:14px;height:14px;stroke-width:1.8}.skill-mark.skill-logo{background:transparent}.skill-mark.skill-logo img{width:16px;height:16px;display:block;object-fit:contain;filter:brightness(0) invert(1);opacity:.92}.skill-divider{height:1px;background:var(--border);margin-top:40px}.feature-card{padding:23px;display:flex;align-items:center;gap:18px;margin-bottom:14px}.feature-card h2{font-size:14px;margin:0 0 6px;font-weight:550}.feature-card p{font-size:12px;color:var(--muted);margin:0}.feature-icon{width:48px;height:48px;border:1px solid var(--border);border-radius:13px;display:grid;place-items:center;background:#ffffff04;color:#b0b5c8;flex-shrink:0}.contacts-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-card{padding:20px;display:flex;align-items:center;gap:13px;flex-wrap:wrap;min-width:0}.contact-card.featured{grid-column:1/-1;padding:25px}.contact-details{flex:1;min-width:0}.contact-details h2{margin:0 0 3px;font-size:13px;font-weight:550;overflow-wrap:anywhere}.contact-details p{font-size:10px;color:var(--faint);margin:0}.contact-card .feature-icon{width:40px;height:40px;border-radius:10px}.contact-card.featured .feature-icon{width:52px;height:52px;border-radius:15px}.contact-actions{display:flex;gap:6px}.contact-actions button,.contact-actions a{font-size:10px;padding:5px 9px}.contact-empty{font-family:var(--mono);font-size:9px;color:var(--faint);border:1px solid var(--border);padding:2px 7px;border-radius:4px}.time-note{display:flex;align-items:center;gap:8px;font-size:11px;margin-top:27px;color:var(--muted)}.time-note .icon{width:14px;height:14px}.time-note time{font-family:var(--mono);background:#ffffff08;padding:1px 5px;border-radius:3px;color:#b7bbc9}.desk-scene{height:240px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(ellipse at 50% 50%,#6d74941a,transparent 65%);margin:7px 0 26px}.desk-scene svg{width:320px;max-width:100%;height:210px}.scene-caption{position:absolute;bottom:16px;left:0;right:0;text-align:center;font:9px var(--mono);color:#747989;letter-spacing:1.5px}.empty-description{max-width:440px;font-size:12px;line-height:1.9;color:var(--muted)}.empty-title{font-size:15px;font-weight:500;margin:0 0 9px}.setup-list{display:grid;gap:13px}.gear-card{display:grid;grid-template-columns:210px 1fr;overflow:hidden}.gear-picture{background:#ffffff02;min-height:180px;display:grid;place-items:center;border-right:1px solid var(--border)}.gear-picture img{max-width:90%;max-height:180px;object-fit:contain}.gear-picture>.icon{width:64px;height:64px;color:#4f556a}.gear-info{padding:22px}.gear-info h2{font-size:15px;font-weight:550;margin:0 0 6px}.gear-info>p{font-size:11px;color:var(--muted);margin:0 0 18px}.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.spec{border:1px solid var(--border);border-radius:7px;padding:7px 10px;background:#ffffff02}.spec dt{font:8px var(--mono);text-transform:uppercase;letter-spacing:.7px;color:var(--faint);margin-bottom:4px}.spec dd{font-size:11px;margin:0}.music-placeholder{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:24px}.record{aspect-ratio:1;position:relative;border-radius:9px;overflow:hidden;border:1px solid #ffffff12;background:radial-gradient(circle at 55% 45%,#3f485a,#1d2230 47%,#101219 80%);display:grid;place-items:center}.record:nth-child(2){background:radial-gradient(circle at 75% 30%,#464051,#24202c 50%,#141218)}.record:nth-child(3){background:radial-gradient(circle at 20% 90%,#344344,#1c282c 50%,#11171a)}.record-disc{width:68%;height:68%;border-radius:50%;background:repeating-radial-gradient(circle,#101117 0 2px,#22242e 3px 4px);box-shadow:0 10px 25px #0006;display:grid;place-items:center;transform:rotate(-20deg)}.record-disc::after{content:'';width:31%;height:31%;border-radius:50%;background:radial-gradient(circle,#15171e 0 10%,#777d96 12% 13%,#454a60 16%);border:1px solid #a1a9c11a}.record-number{position:absolute;bottom:10px;left:12px;font:8px var(--mono);letter-spacing:2px;color:#afb7cc8a}.music-list{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.music-item img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:9px}.music-item h2{font-size:12px;margin:10px 0 4px}.music-item p{font-size:10px;color:var(--muted);margin:0}.music-item a{display:block}.music-item a:hover h2{color:var(--accent)}.project-link{display:block;padding:17px 20px;margin-top:12px}.project-link h3{font-size:13px;margin:0 0 4px}.project-link p{font-size:11px;color:var(--muted);margin:0}.site-footer{max-width:680px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);padding:19px 0 28px;gap:12px;font:9px/1.5 var(--mono);color:var(--faint)}.site-footer>span:first-child{display:flex;align-items:center;gap:7px}.footer-dot{width:4px;height:4px;border-radius:50%;background:#8d94ad}.separator{color:#414550;margin:0 3px}#draft-badge{font-size:8px}.local-time{color:#8b8e9c}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,15px);opacity:0;pointer-events:none;background:#252832;border:1px solid #ffffff1c;padding:10px 17px;border-radius:8px;font-size:12px;z-index:40;transition:.2s;max-width:90vw;box-shadow:0 12px 30px #0005}.toast.visible{opacity:1;transform:translate(-50%,0)}.skip{position:fixed;top:-100px;left:20px;z-index:50;background:#e8e8ee;color:#14141a;padding:8px 14px;border-radius:6px}.skip:focus{top:20px}.no-script{max-width:680px;margin:30px auto;padding:20px}.motion-off .ambient{animation-play-state:paused}.motion-off .page{animation:none}.motion-off *{transition:none!important}
@keyframes drift{to{transform:translate(3%,2%) scale(1.06)}}@keyframes enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(min-width:1500px){main{padding-top:70px}.site-header{height:110px}main{min-height:calc(100vh - 210px)}}
@media(max-width:1000px){main{margin-left:110px;margin-right:45px;max-width:none}.site-footer{margin-left:134px;margin-right:69px}.site-header{padding-left:32px;padding-right:45px}}
@media(max-width:700px){.site-header{padding:22px 22px;height:76px}.header-caption{font-size:8px;letter-spacing:0;max-width:175px}.site-header{gap:16px}main{margin:0;max-width:none;padding:30px 24px 40px;min-height:calc(100svh - 245px)}.dock{left:50%;top:auto;bottom:18px;transform:translateX(-50%);flex-direction:row;padding:6px;border-radius:17px;gap:8px;box-shadow:0 8px 35px #0008}.dock a{width:44px;height:42px}.dock a .nav-label{left:50%;top:auto;bottom:52px;transform:translateX(-50%)}.dock a:hover .nav-label,.dock a:focus-visible .nav-label{transform:translateX(-50%)}.site-footer{margin:0 24px;padding:20px 0 105px;gap:8px;flex-wrap:wrap}.home-intro{gap:19px;padding:4px 0 28px}.avatar{width:74px;height:74px;border-radius:22px}.avatar-letter{font-size:42px}.home-name{font-size:43px}.hero-headline{font-size:21px;max-width:300px}.hero-bio{font-size:13px}.about-grid{grid-template-columns:1fr}.about-card{padding:20px}.current-card{padding:17px 20px}.current-card p:not(.card-kicker){max-width:none}.current-status{margin-top:12px}.explore-grid{gap:8px}.explore-card{padding:15px 11px;min-height:110px}.explore-card h3{font-size:11px}.explore-card p{font-size:9px}.explore-card>.arrow{right:10px;font-size:12px}.page-title{font-size:39px}.page-description{font-size:12px;margin-bottom:27px}.contacts-grid{grid-template-columns:1fr}.contact-card.featured{padding:20px}.contact-card{padding:18px}.contact-actions{width:100%;margin-top:4px}.gear-card{grid-template-columns:1fr}.gear-picture{border-right:0;border-bottom:1px solid var(--border);min-height:200px}.music-placeholder,.music-list{gap:10px}.record-number{font-size:7px;left:8px}.record-disc{width:77%;height:77%}.toast{bottom:96px}.local-time{font-size:8px}}

.spotify-now{overflow:hidden;margin-bottom:28px;background:radial-gradient(ellipse at 82% 10%,#1db95424,transparent 48%),linear-gradient(120deg,#ffffff06,#ffffff01)}
.spotify-track{display:flex;align-items:center;gap:16px;padding:20px}.spotify-cover,.spotify-orb{width:64px;height:64px;border-radius:10px;overflow:hidden;display:grid;place-items:center;flex-shrink:0;background:#1db95418;color:#6fe39a;border:1px solid #1db95435}.spotify-cover img{width:100%;height:100%;object-fit:cover}.spotify-copy{min-width:0}.spotify-copy .card-kicker{margin-bottom:7px;color:#8bdcab}.spotify-copy h2{margin:0 0 3px;font-size:17px;font-weight:600;letter-spacing:-.35px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spotify-copy>p:not(.card-kicker){margin:0;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spotify-live-dot{width:6px;height:6px;background:#1ed760;border-radius:50%;box-shadow:0 0 0 4px #1ed76018;display:inline-block}.spotify-separator{color:var(--faint);margin:0 4px}.spotify-open{display:inline-flex;align-items:center;gap:6px;color:#9aeab8;font-size:10px;margin-top:10px}.spotify-open:hover{color:#d5ffe3}.spotify-open .icon{width:12px;height:12px}.spotify-player{display:block;border:0;border-top:1px solid #ffffff0d;background:#121317}.spotify-idle{display:flex;align-items:center;gap:16px;padding:20px}.spotify-idle h2{font-size:14px;font-weight:550;margin:0 0 3px}.spotify-idle p:not(.card-kicker){font-size:11px;color:var(--muted);margin:0}.spotify-idle .card-kicker{margin-bottom:5px}
.spotify-connect{margin-top:12px;border:1px solid #1db95466;border-radius:6px;padding:6px 10px;background:#1db95418;color:#a9f1c3;font-size:10px}.spotify-connect:hover{background:#1db9542b;border-color:#42de78}
@media(max-width:700px){.spotify-track{padding:17px}.spotify-cover,.spotify-orb{width:56px;height:56px}.spotify-copy h2{font-size:15px}.spotify-idle{padding:17px}}
@media(max-width:360px){.header-caption{display:none}.dock{gap:4px}.dock a{width:42px}.site-footer{font-size:8px}.explore-grid{grid-template-columns:1fr}.explore-card{min-height:0;padding:15px 17px}.explore-card>.icon{float:left;margin:4px 15px 0 0}.contacts-grid .contact-empty{margin-left:53px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.home-intro>div:last-child{min-width:0}.home-name{overflow-wrap:anywhere}.home-handle{font-size:12px;letter-spacing:.3px}.brand{white-space:nowrap}
@media(max-width:700px){.header-caption{display:none}.home-name{font-size:36px;letter-spacing:-1.5px}.home-intro{gap:17px}.avatar{width:66px;height:66px;border-radius:19px}.avatar-letter{font-size:39px}.site-footer #draft-badge{font-size:7px}}
@media(max-width:360px){.home-intro{flex-direction:column;align-items:flex-start;gap:21px}.home-name{font-size:39px}.local-time{width:100%;margin-top:3px}}

.intro-panel{padding:19px 21px;margin:0 0 12px}.intro-panel>p{margin:0;color:#b5b6bf;font-size:13px;line-height:1.85}.intro-panel strong{color:#ececef;font-weight:650}.life-row{display:flex;align-items:center;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border);min-width:0}.life-pulse{width:7px;height:7px;border-radius:50%;background:#c3cef2;box-shadow:0 0 0 4px #c3cef214,0 0 14px #c3cef280;animation:lifePulse 2s ease-in-out infinite}.life-row>div:nth-child(2){display:flex;flex-direction:column;min-width:0}.life-label{font:8px/1.4 var(--mono);color:var(--faint);text-transform:uppercase;letter-spacing:1px}.life-row time{font:12px/1.6 var(--mono);color:#d6d8e1;font-variant-numeric:tabular-nums;white-space:nowrap}.total-seconds{margin-left:auto;font:9px/1.5 var(--mono);color:var(--faint);white-space:nowrap}.compact-links{margin:0 0 13px;gap:8px;flex-wrap:wrap}.compact-links .button{padding:6px 11px}.compact-links+.tags{margin-bottom:34px}@keyframes lifePulse{50%{opacity:.55;transform:scale(.78)}}
@media(max-width:700px){.intro-panel{padding:18px}.life-row{align-items:flex-start;flex-wrap:wrap}.total-seconds{width:100%;margin:2px 0 0 17px}.compact-links .button{flex:1 1 auto}.home-handle{line-height:1.7}.compact-links+.tags{margin-bottom:30px}}
@media(max-width:380px){.life-row time{font-size:10px}.total-seconds{font-size:8px}.compact-links .button{min-width:calc(50% - 5px)}}
@media(prefers-reduced-motion:reduce){.life-pulse{animation:none}}
.profile-label{font:11px/1.4 var(--mono);text-transform:lowercase;letter-spacing:.6px;margin-bottom:8px}.location-title{font-size:58px;letter-spacing:-2.5px}.intro-panel.counter-only{padding:15px 20px}.counter-only .life-row{margin-top:0;padding-top:0;border-top:0}
@media(max-width:700px){.location-title{font-size:46px;letter-spacing:-2px}.profile-label{font-size:10px}}

.discord-avatar{isolation:isolate}.discord-avatar-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit;z-index:1}.discord-avatar-decoration{position:absolute;inset:-12%;width:124%;height:124%;object-fit:contain;pointer-events:none;z-index:3}.discord-avatar.discord-loaded .avatar-letter{opacity:0}.discord-avatar .avatar-letter{transition:opacity .2s}.discord-avatar .avatar-star{z-index:4}.discord-avatar.discord-loaded .avatar-star{width:17px;height:17px;right:0;bottom:0;border-width:4px;background:#747783}.discord-avatar .avatar-star[data-status=online]{background:#43b581}.discord-avatar .avatar-star[data-status=idle]{background:#faa61a}.discord-avatar .avatar-star[data-status=dnd]{background:#f04747}.discord-avatar .avatar-star[data-status=offline]{background:#747783}

.spotify-progress{padding:0 20px 18px}.spotify-progress-track{height:4px;background:#ffffff13;border-radius:999px;overflow:hidden}.spotify-progress-track>span{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#1ed760,#92efaf);box-shadow:0 0 12px #1ed76065;transition:width .75s linear}.spotify-times{display:flex;justify-content:space-between;margin-top:8px;color:var(--faint);font:9px/1.4 var(--mono);font-variant-numeric:tabular-nums}
.playlist-section{margin:0 0 28px}.playlist-section .section-heading{margin-top:0}.playlist-card{display:flex;align-items:center;gap:15px;padding:14px 16px;transition:.2s}.playlist-card:hover{border-color:#1db95460;background:#1db9540c;transform:translateY(-1px)}.playlist-cover,.playlist-art{width:54px;height:54px;flex:0 0 54px;border-radius:8px;object-fit:cover;background:#1db95418;border:1px solid #1db95435;color:#78e6a0;display:grid;place-items:center}.playlist-art .icon{width:22px;height:22px}.playlist-copy{display:grid;gap:2px;min-width:0;flex:1}.playlist-copy .card-kicker{margin:0;color:#8bdcab}.playlist-copy strong{font-size:14px;font-weight:600;letter-spacing:-.2px}.playlist-copy>span:last-child{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.playlist-open{font:9px var(--mono);color:#9aeab8;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.playlist-open .icon{width:12px;height:12px}
@media(max-width:700px){.spotify-progress{padding:0 17px 16px}.playlist-card{padding:13px}.playlist-open{display:none}}

.playlist-card{margin:0;border-radius:12px 12px 0 0}.playlist-card:hover{transform:none}.playlist-title-link{display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;font-size:14px;font-weight:600;letter-spacing:-.2px}.playlist-title-link:hover{color:#9aeab8}.playlist-title-link .icon{width:12px;height:12px}.playlist-dropdown{border:1px solid var(--border);border-top:0;border-radius:0 0 12px 12px;background:#0f1014}.playlist-dropdown summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:10px 15px;color:var(--faint);font:9px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.7px}.playlist-dropdown summary::-webkit-details-marker{display:none}.playlist-dropdown summary span:last-child::after{content:' −';color:#9aeab8}.playlist-dropdown:not([open]) summary span:last-child{font-size:0}.playlist-dropdown:not([open]) summary span:last-child::after{content:'show list +';font-size:9px}.playlist-dropdown ol{list-style:none;margin:0;padding:0 8px 8px}.playlist-dropdown li+li{border-top:1px solid #ffffff0b}.playlist-dropdown li a{display:grid;grid-template-columns:24px minmax(0,1fr) auto 14px;gap:10px;align-items:center;padding:8px 7px;border-radius:6px;transition:.16s}.playlist-dropdown li a:hover{background:#ffffff07}.track-number{font:9px var(--mono);color:#666b79}.track-copy{display:grid;min-width:0}.track-copy strong{font-size:11px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-copy span{font-size:9px;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.playlist-dropdown time{font:9px var(--mono);color:var(--faint);font-variant-numeric:tabular-nums}.playlist-dropdown .icon{width:12px;height:12px;color:#7fcf9c}@media(max-width:700px){.playlist-dropdown li a{padding:9px 6px;gap:8px}.playlist-dropdown ol{padding:0 6px 6px}.track-copy strong{font-size:10px}}
.playlist-pages{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 15px 13px;color:var(--faint);font:9px var(--mono);text-transform:uppercase;letter-spacing:.6px}.playlist-pages button{border:1px solid var(--border);border-radius:5px;background:#ffffff04;color:#b9becb;padding:5px 8px;font:9px var(--mono);text-transform:uppercase;letter-spacing:.4px}.playlist-pages button:hover:not(:disabled){border-color:#1db95466;background:#1db95412;color:#9aeab8}.playlist-pages button:disabled{opacity:.35;cursor:default}

.home-layout{display:grid;grid-template-columns:minmax(235px,.72fr) minmax(0,1.28fr);gap:45px;align-items:start}.home-identity{position:sticky;top:45px}.home-identity .home-intro{flex-direction:column;align-items:flex-start;gap:16px;padding:0 0 23px}.home-identity .avatar{width:88px;height:88px;border-radius:25px}.home-identity .avatar-letter{font-size:47px}.home-identity .location-title{font-size:55px;letter-spacing:-2.5px}.home-identity .intro-panel{margin-bottom:11px}.home-identity .compact-links{display:grid;grid-template-columns:1fr 1fr;gap:7px}.home-identity .compact-links .button{justify-content:center}.home-identity .tags{margin-bottom:0}.home-feed .section-heading:first-child{margin-top:2px}.home-feed .about-grid{grid-template-columns:1.15fr .85fr;gap:12px;margin-bottom:36px}.home-feed .current-card{min-height:100%}.home-feed .explore-grid{grid-template-columns:1fr 1fr;gap:10px}.home-feed .explore-card:last-child{grid-column:1/-1;min-height:95px}.home-projects{max-width:calc(100% - 280px);margin-left:auto;margin-top:33px}.home-projects .section-heading{margin-top:0}@media(max-width:700px){.home-layout{display:block}.home-identity{position:static}.home-identity .home-intro{flex-direction:row;align-items:center;padding:4px 0 28px;gap:17px}.home-identity .avatar{width:66px;height:66px;border-radius:19px}.home-identity .avatar-letter{font-size:39px}.home-identity .location-title{font-size:46px;letter-spacing:-2px}.home-identity .compact-links{display:flex;gap:8px}.home-feed{margin-top:31px}.home-feed .about-grid{grid-template-columns:1fr;margin-bottom:31px}.home-feed .explore-grid{grid-template-columns:repeat(3,1fr);gap:8px}.home-feed .explore-card:last-child{grid-column:auto;min-height:110px}.home-projects{max-width:none;margin:32px 0 0}}

@media(min-width:701px){.home-layout{display:block}.home-identity{position:static;display:grid;grid-template-columns:minmax(330px,1.25fr) minmax(245px,.75fr);grid-template-areas:"intro age" "links tags";column-gap:28px;row-gap:11px;margin-bottom:46px}.home-identity .home-intro{grid-area:intro;flex-direction:row;align-items:center;gap:21px;padding:4px 0}.home-identity .avatar{width:80px;height:80px;border-radius:23px}.home-identity .avatar-letter{font-size:44px}.home-identity .location-title{font-size:59px;letter-spacing:-2.7px}.home-identity .intro-panel{grid-area:age;margin:0}.home-identity .compact-links{grid-area:links;display:flex;gap:8px;margin:0}.home-identity .compact-links .button{justify-content:flex-start}.home-identity .tags{grid-area:tags;margin:0;align-self:center}.home-feed .section-heading:first-child{margin-top:0}.home-feed .about-grid{grid-template-columns:1.2fr .8fr;gap:13px;margin-bottom:40px}.home-feed .explore-grid{grid-template-columns:repeat(3,1fr);gap:12px}.home-feed .explore-card:last-child{grid-column:auto;min-height:112px}.home-projects{max-width:none;margin:37px 0 0}}

@media(min-width:701px){.home-identity .life-row{align-items:flex-start;flex-wrap:wrap}.home-identity .total-seconds{width:100%;margin:3px 0 0 17px;font-size:8px}.home-identity .intro-panel.counter-only{padding:16px 18px}}

.total-seconds{display:none}@media(min-width:701px){main{max-width:1180px;margin-left:auto;margin-right:auto;padding-left:42px;padding-right:42px}.site-footer{max-width:1180px;margin-left:auto;margin-right:auto;padding-left:42px;padding-right:42px}.home-identity{grid-template-columns:minmax(470px,1.3fr) minmax(320px,.7fr);column-gap:42px;margin-bottom:55px}.home-identity .intro-panel.counter-only{min-height:96px;display:flex;align-items:center;padding:19px 23px}.home-identity .life-row{width:100%;flex-wrap:nowrap}.home-identity .total-seconds{display:none}.home-feed .about-grid{grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);gap:16px}.home-feed .explore-grid{gap:15px}.home-feed .explore-card{min-height:130px}.home-projects{margin-top:45px}}

.view-count{font:9px/1.5 var(--mono);color:#858998;white-space:nowrap}

.aurora::after{content:'';position:absolute;width:220px;height:220px;right:5vw;top:21vh;background:url('assets/exit-glow.png') center/contain no-repeat;opacity:.12;mix-blend-mode:screen;animation:aurora-drift-c 18s ease-in-out infinite alternate}
main{position:relative;z-index:1}
.aurora{display:none}

.background-wallpaper{position:fixed;inset:-12px;z-index:-5;pointer-events:none;background:#000 url('assets/wallpaper.jpg') center/cover no-repeat;filter:blur(4px) contrast(1.12) brightness(.32);transform:scale(1.02)}.video-wash,body::before{display:none}.ambient{display:none}.profile-label::before{display:none}.views-inline{display:inline-flex;align-items:center;gap:5px;margin-left:10px;padding-left:10px;border-left:1px solid #ffffff28;vertical-align:middle;font:9px/1 var(--mono);letter-spacing:0;color:#b7bbc9;text-transform:none;white-space:nowrap}.views-inline svg{width:12px;height:12px;fill:none;stroke:#c6d0ef;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.panel{backdrop-filter:blur(13px) saturate(1.12);-webkit-backdrop-filter:blur(13px) saturate(1.12);position:relative}.panel::before{content:'';position:absolute;left:13%;right:13%;top:-1px;height:1px;background:linear-gradient(90deg,transparent,#ffffff2a,transparent);pointer-events:none}.panel::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .25s ease;background:radial-gradient(260px circle at 50% 0,#c3cef218,transparent 70%)}.panel:hover::after{opacity:1}@media(max-width:700px){.background-wallpaper{inset:-8px;filter:blur(3px) contrast(1.12) brightness(.32)}.views-inline{margin-left:7px;padding-left:7px;font-size:8px}main{padding-bottom:95px}}

@media(min-width:701px){.dock{left:max(16px,calc((100vw - 1180px)/2 - 58px))}}
@media(max-width:700px){.dock{left:50%;top:auto;bottom:16px;transform:translateX(-50%);flex-direction:row;gap:3px;padding:5px 7px;border-radius:14px;background:#101116e6;box-shadow:0 10px 35px #0008}.dock a{width:40px;height:38px;border-radius:9px}.dock a .nav-label{display:none}}
.dock{isolation:isolate;gap:8px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.dock::before{display:none}.dock a{width:44px;height:44px;color:#aeb3c2;border:1px solid #ffffff16;border-radius:12px;background:linear-gradient(120deg,#ffffff09,#ffffff02);box-shadow:inset 0 1px 0 #ffffff0d;backdrop-filter:blur(13px) saturate(1.1);-webkit-backdrop-filter:blur(13px) saturate(1.1)}.dock a:hover{color:#f1f3fa;border-color:#ffffff2a;background:linear-gradient(120deg,#ffffff10,#ffffff05);box-shadow:inset 0 1px 0 #ffffff18}.dock a[aria-current=page]{color:#f0f2fa;border-color:#ffffff30;background:linear-gradient(135deg,#ffffff18,#c3cef212);box-shadow:inset 0 1px 0 #ffffff22,0 0 20px #c3cef210}@media(max-width:700px){.dock{gap:7px;padding:0;background:transparent;box-shadow:none}.dock a{width:40px;height:40px;border-radius:11px}}
.eyebrow::before,.section-heading::after{display:none}.section-heading{gap:0}html{scroll-behavior:smooth}.page>*{animation:content-rise .58s cubic-bezier(.16,1,.3,1) both}.page>*:nth-child(2){animation-delay:.045s}.page>*:nth-child(3){animation-delay:.09s}.page>*:nth-child(4){animation-delay:.135s}.page>*:nth-child(5){animation-delay:.18s}@keyframes content-rise{from{opacity:0;transform:translateY(10px);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}.panel,.button,.tag,.dock a,.project-link,.skill,.playlist-card,.playlist-dropdown{transition:transform .28s cubic-bezier(.16,1,.3,1),background .28s ease,border-color .28s ease,box-shadow .28s ease,opacity .28s ease}.panel:hover,.project-link:hover{transform:translateY(-2px)}.dock a:active,.button:active{transform:scale(.94)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.page>*{animation:none}.panel,.button,.tag,.dock a,.project-link,.skill,.playlist-card,.playlist-dropdown{transition:none}}
.project-current{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"kicker kicker" "title open" "copy open";column-gap:15px;align-items:end}.project-current .card-kicker{grid-area:kicker}.project-current h3{grid-area:title;margin:0;font-size:15px;font-weight:600;letter-spacing:-.25px}.project-current p:not(.card-kicker){grid-area:copy;max-width:none;margin-top:4px}.current-project-open{grid-area:open;align-self:center;white-space:nowrap;padding:6px 9px;font-size:10px}.current-project-open .icon{width:13px;height:13px}@media(max-width:700px){.project-current{grid-template-columns:minmax(0,1fr) auto}.current-project-open{padding:6px 8px}}
.project-card-mark{width:42px;height:42px;object-fit:contain;margin-bottom:4px;filter:drop-shadow(0 5px 10px #0008)}
.project-feature{isolation:isolate}.project-feature::before{display:none}.project-feature-copy,.project-feature-side{position:relative;z-index:1}.project-feature-side{display:flex;align-items:center;gap:12px;flex:0 0 auto}.project-feature-mark{width:38px;height:38px;object-fit:contain;filter:drop-shadow(0 5px 10px #0008)}.project-feature-banner{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover;object-position:center 45%;opacity:1;filter:none}@media(max-width:700px){.project-feature-side{align-self:flex-end}.project-feature-mark{width:34px;height:34px}}
.project-feature{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;justify-content:space-between;gap:26px;min-height:235px;padding:30px}.project-feature::after{content:'';position:absolute;z-index:-1;width:320px;height:320px;right:-120px;bottom:-170px;border-radius:50%;background:radial-gradient(circle,#c3cef221,transparent 68%);filter:blur(7px);opacity:.8}.project-feature-copy{max-width:540px}.project-feature h2,.project-card h2{margin:0 0 6px;font-size:28px;line-height:1;letter-spacing:-1px}.project-feature p:not(.card-kicker),.project-card p:not(.card-kicker){margin:0;color:var(--muted);font-size:12px;line-height:1.8}.project-status{display:flex;align-items:center;gap:8px;margin:0 0 14px;font:10px/1 var(--mono);letter-spacing:.35px;color:#fff;text-shadow:0 1px 8px #000}.project-status .icon{width:14px;height:14px;filter:drop-shadow(0 1px 4px #000)}.project-status-label{font-weight:700;text-transform:uppercase}.project-status-state{display:inline-flex;align-items:center;gap:5px;border:1px solid #ffffff72;background:#0b0c0e9c;border-radius:999px;padding:5px 8px 5px 7px;font-size:9px;letter-spacing:.6px;text-transform:uppercase;box-shadow:0 4px 14px #0005}.project-status-state::before{content:'';width:5px;height:5px;border-radius:50%;background:#fff;box-shadow:0 0 8px #fff}.project-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:20px}.project-meta span,.project-card-footer>span{border:1px solid #ffffff14;border-radius:999px;padding:3px 8px;color:var(--faint);font:9px/1.2 var(--mono)}.project-feature .current-project-open{flex:0 0 auto;margin-bottom:2px}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.project-card{min-height:190px;padding:22px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.project-card .card-kicker{margin:0}.project-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-top:auto}.project-card .button{padding:6px 9px;font-size:10px}.project-placeholder{border-style:dashed;background:#ffffff025}@media(max-width:700px){.project-feature{min-height:210px;padding:22px;align-items:flex-start;flex-direction:column}.project-feature h2{font-size:23px}.project-feature .current-project-open{align-self:flex-end;margin-top:auto}.projects-grid{grid-template-columns:1fr}}
.setup-groups{display:grid;gap:33px}.setup-group h2{display:flex;align-items:center;gap:9px;margin:0 0 12px;font:10px/1.4 var(--mono);text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.setup-group h2 .icon{width:15px;height:15px;color:#b6c0de}.setup-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.setup-item h3,.setup-app h3{margin:0 0 2px;font-size:12px;font-weight:600;line-height:1.3}.setup-item p,.setup-app p{margin:0;color:var(--faint);font:9px/1.4 var(--mono)}.setup-group--hardware .setup-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.setup-hardware-card{min-height:162px;padding:0;display:grid;grid-template-rows:96px 1fr;gap:0;overflow:hidden}.hardware-preview{display:grid;place-items:center;border-bottom:1px solid #ffffff12;background:linear-gradient(145deg,#ffffff09,#ffffff015)}.hardware-preview img{width:100%;height:96px;object-fit:contain;padding:8px;filter:drop-shadow(0 8px 13px #0008);transition:transform .35s cubic-bezier(.16,1,.3,1),filter .35s ease}.hardware-preview svg{width:84%;height:76px;fill:none;stroke:#ccd4ee;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;opacity:.8;filter:drop-shadow(0 8px 13px #0008)}.hardware-preview .preview-line{stroke:#c3cef2;stroke-width:2}.setup-hardware-card>div:last-child{padding:12px 14px 14px}.setup-hardware-card:hover .hardware-preview img{transform:scale(1.055);filter:drop-shadow(0 12px 16px #000a)}.setup-hardware-card:hover .hardware-preview svg{opacity:1;transform:scale(1.035)}.setup-hardware-card svg{transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .3s ease}.setup-group--workstation .setup-items,.setup-group--dock .setup-items{grid-template-columns:repeat(4,minmax(0,1fr))}.setup-group--tools .setup-items{grid-template-columns:repeat(3,minmax(0,1fr))}.setup-app{display:flex;align-items:center;gap:9px;min-width:0;padding:8px 7px;border-radius:9px;transition:background .2s ease,transform .2s ease}.setup-app:hover{background:#ffffff08;transform:translateY(-1px)}.setup-app-mark{width:29px;height:29px;flex:0 0 29px;display:grid;place-items:center;border:1px solid #ffffff17;border-radius:8px;background:#ffffff08;color:#d4dcf4;font:9px/1 var(--mono);letter-spacing:-.3px}.setup-app-mark img{width:17px;height:17px;object-fit:contain;filter:drop-shadow(0 2px 4px #0008)}.setup-app h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px}.setup-app p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:8px}@media(max-width:700px){.setup-groups{gap:27px}.setup-group--hardware .setup-items{grid-template-columns:1fr}.setup-group--workstation .setup-items,.setup-group--dock .setup-items{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-group--tools .setup-items{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-hardware-card{min-height:145px}.hardware-preview{height:82px}.hardware-preview img{height:82px}.hardware-preview svg{height:65px}}
.playlist-dropdown li a{grid-template-columns:24px 32px minmax(0,1fr) auto 14px}.track-preview{width:28px;height:28px;border-radius:5px;overflow:hidden;display:grid;place-items:center;background:#1db95416;color:#8eeaad}.track-preview img{width:100%;height:100%;object-fit:cover}.track-preview .icon{width:13px;height:13px}@media(max-width:700px){.playlist-dropdown li a{grid-template-columns:21px 29px minmax(0,1fr) auto 12px}.track-preview{width:27px;height:27px}}
.project-feature .project-feature-status{color:#fff;font-size:10px;font-weight:650;letter-spacing:.55px;text-shadow:0 1px 7px #000}.project-feature .project-feature-status span{color:#fff}
.project-feature-status{position:absolute;top:30px;left:30px;z-index:1}@media(max-width:700px){.project-feature-status{top:22px;left:22px}}
.project-placeholder{min-height:150px}
.home-greeting,.home-greeting-name{display:inline-block;color:#f7f7f8;animation:home-title-in .62s cubic-bezier(.16,1,.3,1) both}.home-greeting-name{animation-delay:.09s}.home-greeting-punctuation,.home-greeting-dot{color:#9a9a9f}.home-greeting-dot{display:inline-block;animation:home-title-in .62s cubic-bezier(.16,1,.3,1) .17s both}@keyframes home-title-in{from{opacity:0;transform:translateY(12px);filter:blur(5px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@media(prefers-reduced-motion:reduce){.home-greeting,.home-greeting-name,.home-greeting-dot{animation:none}}
.contact-card-direct{display:grid;grid-template-columns:50px minmax(0,1fr) minmax(238px,280px);grid-template-areas:'avatar identity activity' 'avatar actions activity';gap:7px 14px;padding:18px 20px;align-items:center}.contact-card-direct:hover{border-color:#ffffff3d;background:#ffffff09}.contact-discord-avatar{grid-area:avatar;width:50px;height:50px;border:1px solid #ffffff26;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#ffffff08;color:#fff;box-shadow:0 7px 18px #0005}.contact-discord-avatar img{width:100%;height:100%;object-fit:cover}.contact-discord-avatar .icon{width:20px;height:20px}.contact-card-direct .contact-details{grid-area:identity;align-self:end}.contact-card-direct .contact-details h2{font-size:13px;letter-spacing:-.15px}.contact-card-direct .contact-details p{font-size:10px}.contact-discord-side{grid-area:activity;align-self:stretch;display:grid;grid-template-columns:42px minmax(0,1fr);gap:9px;align-items:center;min-width:0;padding:10px 11px;border:1px solid #ffffff14;border-radius:10px;background:linear-gradient(125deg,#ffffff09,#ffffff025);text-align:left}.contact-discord-activity-art{width:42px;height:42px;border:1px solid #ffffff1c;border-radius:8px;object-fit:cover;box-shadow:0 4px 11px #0006}.contact-discord-activity-copy{display:grid;gap:2px;min-width:0}.contact-discord-activity-copy span,.contact-discord-activity-copy small,.contact-discord-activity-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-discord-activity-copy span{color:var(--faint);font:8px/1.25 var(--mono);letter-spacing:.6px;text-transform:uppercase}.contact-discord-activity-copy strong{color:#fff;font:10px/1.35 var(--mono);text-transform:capitalize}.contact-discord-activity-copy strong::before{content:'';display:inline-block;width:5px;height:5px;margin:0 5px 1px 0;border-radius:50%;background:#fff;box-shadow:0 0 7px #fff}.contact-discord-activity-copy small{color:var(--faint);font:8px/1.25 var(--mono)}.contact-discord-actions{grid-area:actions;display:flex;gap:7px;margin:0}.contact-discord-actions .button{padding:5px 9px;font-size:10px}.contact-discord-actions .icon{width:13px;height:13px}@media(max-width:700px){.contact-card-direct{grid-template-columns:50px minmax(0,1fr);grid-template-areas:'avatar identity' 'activity activity' 'actions actions';padding:17px 18px}.contact-discord-side{min-width:0;padding:9px}.contact-discord-actions{margin-top:1px}}
.contacts-grid>.contact-card:not(.featured){min-height:64px;padding:12px 7px 3px;border:0;border-top:1px solid #ffffff17;border-radius:0;background:transparent;box-shadow:none}.contacts-grid>.contact-card:not(.featured):hover{background:transparent;border-color:#ffffff32;transform:none}.contacts-grid>.contact-card:not(.featured) .feature-icon{width:33px;height:33px;border-radius:8px;background:#ffffff06}.contacts-grid>.contact-card:not(.featured) .feature-icon .icon{width:16px;height:16px}.contacts-grid>.contact-card:not(.featured) .contact-details h2{font-size:11px;font-weight:600}.contacts-grid>.contact-card:not(.featured) .contact-details p{font:9px/1.4 var(--mono);color:var(--faint)}.contacts-grid>.contact-card:not(.featured) .contact-actions{margin-left:auto}.contacts-grid>.contact-card:not(.featured) .contact-actions .button{padding:5px 8px;font-size:9px}.contacts-grid>.contact-card:not(.featured) .contact-empty{margin-left:auto;border-color:#ffffff14;background:#ffffff04;color:#aeb0ba}
.contact-card-direct .contact-details p{color:#d1d2d8;font-size:11px;line-height:1.45}
#dynamic-island{position:fixed;top:0;left:50%;z-index:60;width:min(82vw,350px);height:76px;transform:translateX(-50%);pointer-events:auto}#dynamic-island:empty{pointer-events:none}.dynamic-island-card{position:absolute;top:0;left:50%;width:min(82vw,350px);height:46px;display:flex;align-items:center;padding:0 14px 0 8px;border:0;border-radius:999px;background:#000;box-shadow:0 10px 30px #000b;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-68px) scale(.9);transform-origin:top center;filter:blur(6px);transition:opacity .2s ease,visibility .2s step-end,transform .48s cubic-bezier(.16,1,.3,1),filter .3s ease}#dynamic-island:hover .dynamic-island-card,#dynamic-island:focus-within .dynamic-island-card{visibility:visible;pointer-events:auto;opacity:1;transform:translate(-50%,12px) scale(1);filter:blur(0);transition:opacity .2s ease,visibility 0s,transform .48s cubic-bezier(.16,1,.3,1),filter .3s ease}.dynamic-island-art{width:32px;height:32px;flex:0 0 32px;overflow:hidden;border-radius:9px;display:grid;place-items:center;background:#ffffff12;color:#fff}.dynamic-island-art img{width:100%;height:100%;object-fit:cover}.dynamic-island-art .icon{width:12px;height:12px}.dynamic-island-copy{flex:1;min-width:0;margin-left:10px;display:flex;flex-direction:column;justify-content:center;gap:2px;align-self:stretch;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif}.dynamic-island-copy strong,.dynamic-island-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dynamic-island-copy strong{font-size:10px;font-weight:650;line-height:1.1;letter-spacing:-.01em;color:#fff}.dynamic-island-copy small{font-size:8px;font-weight:500;line-height:1.1;letter-spacing:-.005em;color:#a5a5ac}.dynamic-island-wave{height:18px;display:flex;align-items:center;justify-content:flex-end;gap:1.5px}.dynamic-island-wave i{display:block;width:2px;height:16px;border-radius:99px;background:#ffffff45;transform:scaleY(var(--wave-scale,.35));transform-origin:center;will-change:transform,opacity}.dynamic-island-card.is-playing .dynamic-island-wave i{background:#eee}@media(max-width:700px){#dynamic-island,.dynamic-island-card{width:min(90vw,350px)}}@media(prefers-reduced-motion:reduce){.dynamic-island-card,.dynamic-island-card.is-playing .dynamic-island-wave i{animation:none;transition:none}}
@media(min-width:701px){main{width:min(calc(100vw - 200px),1180px);max-width:1180px;min-height:100vh;margin-left:auto;margin-right:auto;padding-top:30px;padding-bottom:30px;transition:padding .58s cubic-bezier(.16,1,.3,1)}main[data-page]{display:grid;align-content:center}main[data-page]>.page{width:100%}.page.page-travel-down{animation:page-travel-up .58s cubic-bezier(.16,1,.3,1) both}.page.page-travel-up{animation:page-travel-down .58s cubic-bezier(.16,1,.3,1) both}}@keyframes page-travel-up{from{opacity:0;transform:translateY(52px);filter:blur(5px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes page-travel-down{from{opacity:0;transform:translateY(-52px);filter:blur(5px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@media(prefers-reduced-motion:reduce){.page.page-travel-down,.page.page-travel-up{animation:none}}
.project-current{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"top top" "content open";gap:12px 15px;padding:17px 18px;background:linear-gradient(118deg,#ffffff08,#ffffff025 64%),radial-gradient(ellipse at 100% 100%,#ffffff0d,transparent 68%)}.project-current-top{grid-area:top;display:flex;align-items:center;justify-content:space-between;gap:10px}.project-current-top .card-kicker{margin:0}.project-current-status{display:inline-flex;align-items:center;gap:6px;color:#e9eaf0;font:8px/1 var(--mono);letter-spacing:.55px;text-transform:uppercase;white-space:nowrap}.project-current-status i{width:5px;height:5px;border-radius:50%;background:#fff;box-shadow:0 0 8px #fff;animation:project-current-pulse 2.2s ease-in-out infinite}.project-current-content{grid-area:content;display:flex;align-items:center;gap:11px;min-width:0}.project-current-mark{width:42px;height:42px;flex:0 0 42px;object-fit:contain;border:1px solid #ffffff18;border-radius:11px;background:#08090d80;padding:5px;filter:drop-shadow(0 6px 11px #0008)}.project-current-mark-fallback{display:grid;place-items:center;color:#fff}.project-current-mark-fallback .icon{width:18px;height:18px}.project-current h3{margin:0;font-size:15px;line-height:1.2;font-weight:650;letter-spacing:-.35px}.project-current p:not(.card-kicker){max-width:none;margin:3px 0 0;font-size:10px;line-height:1.45;color:#bfc1ca}.project-current .current-project-open{align-self:center;margin:0;padding:6px 9px}@keyframes project-current-pulse{50%{opacity:.42;box-shadow:0 0 3px #fff}}@media(max-width:700px){.project-current{padding:16px}.project-current-status{font-size:7px}.project-current-mark{width:38px;height:38px;flex-basis:38px}}
.discord-showcase{display:flex;align-items:center;gap:11px;margin-top:12px;padding:12px 15px;transition:border-color .2s ease,background .2s ease,transform .2s ease}.discord-showcase:hover{border-color:#ffffff3d;background:#ffffff09;transform:translateY(-1px)}.discord-showcase-icon{width:38px;height:38px;border:1px solid #ffffff24;border-radius:10px;display:grid;place-items:center;background:#ffffff08;color:#fff;flex:0 0 38px;overflow:hidden}.discord-showcase-icon .icon{width:19px;height:19px}.discord-showcase-icon img{width:100%;height:100%;object-fit:cover}.discord-showcase-copy{display:grid;gap:1px;min-width:0}.discord-showcase-copy strong{font:600 12px/1.35 var(--sans);color:#fff}.discord-showcase-copy small{font:9px/1.35 var(--mono);color:var(--muted)}.discord-showcase-copy em{display:flex;gap:9px;font:8px/1.55 var(--mono);font-style:normal;color:#dfe0e8}.discord-online-count::before{content:'';display:inline-block;width:4px;height:4px;margin:0 4px 1px 0;border-radius:50%;background:#fff;box-shadow:0 0 6px #fff}.discord-showcase-arrow{margin-left:auto;color:#fff;font-size:14px;opacity:.75}
.home-feed .about-grid{margin-bottom:12px}
.profile-copy .tags{margin-top:11px}.home-identity .profile-copy .tags{grid-area:auto;align-self:auto}@media(min-width:701px){.home-identity{grid-template-areas:"intro age";margin-bottom:38px}.home-identity .profile-copy .tags{margin:10px 0 0}.home-identity .home-intro{padding:0;min-height:96px}}
.lastfm-section{margin:0 0 28px}.lastfm-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:10px}.lastfm-heading .card-kicker{margin-bottom:3px}.lastfm-heading h2{margin:0;font-size:17px;font-weight:600;letter-spacing:-.45px}.lastfm-heading>a{display:inline-flex;align-items:center;gap:5px;color:#fff;font:9px var(--mono)}.lastfm-heading>a .icon{width:12px;height:12px}.lastfm-profile{display:flex;align-items:center;gap:13px;padding:16px 17px;min-height:88px;transition:.2s}.lastfm-profile:hover{border-color:#ffffff3d;background:#ffffff08}.lastfm-mark{width:48px;height:48px;display:grid;place-items:center;flex:0 0 48px;border:1px solid #ffffff2b;border-radius:10px;background:#ffffff08;color:#fff;font:700 14px/1 var(--mono);letter-spacing:-1.2px}.lastfm-copy{display:grid;gap:1px;min-width:0}.lastfm-copy p{margin:0;color:var(--faint);font:9px var(--mono);text-transform:uppercase;letter-spacing:.7px}.lastfm-copy h3{margin:1px 0 0;font-size:14px;font-weight:600;letter-spacing:-.25px}.lastfm-copy span{font-size:11px;color:var(--muted)}.lastfm-profile-arrow{margin-left:auto;color:#fff;font-size:15px}.lastfm-links{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:9px}.lastfm-links a{border:1px solid var(--border);border-radius:7px;background:#ffffff05;padding:8px 10px;color:var(--faint);font:9px var(--mono);text-align:center;transition:.2s}.lastfm-links a:hover{color:#fff;border-color:#ffffff3d;background:#ffffff09;transform:translateY(-1px)}@media(max-width:500px){.lastfm-heading{align-items:start;flex-direction:column;gap:5px}.lastfm-links{gap:6px}.lastfm-links a{padding:8px 5px;font-size:8px}}

.listening-browser{margin-top:10px;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#ffffff05}.listening-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:4px;border-bottom:1px solid var(--border);background:#ffffff05}.listening-tabs button{border-radius:6px;padding:7px 8px;background:transparent;color:var(--faint);font:9px/1.2 var(--mono);text-transform:uppercase;letter-spacing:.55px;transition:.18s}.listening-tabs button:hover{color:#fff;background:#ffffff06}.listening-tabs button[aria-selected=true]{color:#fff;background:#ffffff0d;box-shadow:inset 0 0 0 1px #ffffff12}.listening-panel{min-height:156px;padding:11px}.listening-panel[hidden]{display:none}.listening-panel[data-listening-panel=albums]{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.listening-album{display:block;min-width:0}.listening-album img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border:1px solid #ffffff12;border-radius:6px;background:#ffffff06;transition:.2s}.listening-album span,.listening-album small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.listening-album span{margin-top:5px;color:#dddde2;font-size:9px}.listening-album small{color:var(--faint);font-size:8px}.listening-album:hover img{border-color:#ffffff45;transform:translateY(-2px)}.listening-track{display:grid;grid-template-columns:23px 30px minmax(0,1fr) auto;grid-template-areas:'number image title time' 'number image artist time';align-items:center;column-gap:9px;min-height:39px;padding:5px 4px;border-radius:6px;transition:.16s}.listening-track+.listening-track{border-top:1px solid #ffffff0b}.listening-track:hover{background:#ffffff06}.listening-track>span{grid-area:number;color:var(--faint);font:8px var(--mono)}.listening-track img,.listening-track i{grid-area:image;width:29px;height:29px;border-radius:5px;object-fit:cover;background:#ffffff09;border:1px solid #ffffff10}.listening-track i{display:grid;place-items:center;color:#fff}.listening-track i .icon{width:13px;height:13px}.listening-track strong{grid-area:title;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:500}.listening-track small{grid-area:artist;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--faint);font-size:8px}.listening-track time{grid-area:time;color:var(--faint);font:8px var(--mono)}.listening-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;align-content:start}.listening-stats>div{padding:11px 9px;border:1px solid #ffffff12;border-radius:7px;background:#ffffff05}.listening-stats small,.listening-stats span{display:block;color:var(--faint);font:8px var(--mono)}.listening-stats strong{display:block;margin:4px 0 1px;color:#fff;font-size:17px;font-weight:600;letter-spacing:-.5px}.listening-stats p{grid-column:1/-1;margin:2px 1px 0;color:var(--muted);font-size:10px;line-height:1.55}.listening-empty{grid-column:1/-1;margin:auto;color:var(--faint);font:10px var(--mono)}.music-page .playlist-section{margin:0 0 28px}.music-page .playlist-card{border-radius:12px}.playlist-track-list{list-style:none;margin:0;padding:0 8px 8px;border-top:1px solid #ffffff16}.playlist-track-list li+li{border-top:1px solid #ffffff0b}.playlist-track-list li a{display:grid;grid-template-columns:24px 32px minmax(0,1fr) auto 14px;gap:10px;align-items:center;padding:8px 7px;border-radius:6px;transition:.16s}.playlist-track-list li a:hover{background:#ffffff07}.playlist-track-list time{font:9px var(--mono);color:var(--faint);font-variant-numeric:tabular-nums}.playlist-track-list .icon{width:12px;height:12px;color:#fff}.music-page .playlist-pages{border-top:1px solid #ffffff0b;padding-top:10px}.music-page .playlist-pages button:hover:not(:disabled){color:#fff;border-color:#ffffff45;background:#ffffff0c}@media(max-width:700px){.listening-panel[data-listening-panel=albums]{grid-template-columns:repeat(3,1fr);gap:10px}.listening-panel{min-height:0}.listening-stats{grid-template-columns:1fr}.listening-stats p{grid-column:auto}.playlist-track-list{padding:0 6px 6px}.playlist-track-list li a{grid-template-columns:21px 29px minmax(0,1fr) auto 12px;gap:8px;padding:9px 6px}}

.lastfm-section{margin-bottom:31px}.lastfm-heading{margin-bottom:9px}.listening-browser{margin-top:0;border-radius:12px;background:linear-gradient(145deg,#ffffff07,#ffffff02);box-shadow:inset 0 1px 0 #ffffff04}.listening-tabs{gap:4px;padding:5px;background:#ffffff05}.listening-tabs button{padding:8px 10px;letter-spacing:.7px}.listening-tabs button[aria-selected=true]{background:#fff;color:#111217;box-shadow:none}.listening-tabs button:hover:not([aria-selected=true]){background:#ffffff0b}.listening-panel{min-height:0;padding:12px}.listening-panel[data-listening-panel=albums]{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.listening-album{aspect-ratio:1;border-radius:8px;overflow:hidden;background:#ffffff06}.listening-album img{width:100%;height:100%;border:0;border-radius:inherit;object-fit:cover;transform:none;transition:transform .28s cubic-bezier(.16,1,.3,1),filter .28s ease}.listening-album:hover img{border:0;transform:scale(1.035);filter:brightness(1.08)}.listening-track{grid-template-columns:28px minmax(0,1fr) auto;grid-template-areas:'number title time' 'number artist time';min-height:44px;padding:7px 6px;column-gap:8px}.listening-track strong{font-size:11px}.listening-track small,.listening-track time{font-size:9px}.listening-stats>div{padding:13px 11px;background:#ffffff04}.listening-stats strong{font-size:18px}.listening-stats p{margin-top:5px}.listening-empty{padding:20px 0;text-align:center}@media(max-width:700px){.listening-panel[data-listening-panel=albums]{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.listening-tabs button{padding:8px 5px;font-size:8px}}

.listening-tabs{grid-template-columns:repeat(4,1fr);border:1px solid #ffffff17;border-radius:9px;background:#ffffff03}.listening-tabs button{font:600 10px/1.2 var(--sans);letter-spacing:0;text-transform:none}.listening-tabs button[aria-selected=true]{background:#00000070;color:#fff;box-shadow:0 1px 8px #0005}.listening-tabs button:hover:not([aria-selected=true]){background:#ffffff07}.listening-browser{border:0;background:transparent;box-shadow:none;overflow:visible}.listening-panel{padding:18px 0 0}.listening-albums{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.listening-album{position:relative;aspect-ratio:1;border:1px solid #ffffff14;border-radius:9px;overflow:hidden;background:#ffffff04}.listening-album::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,transparent 40%,#000b);opacity:.8;transition:opacity .25s ease}.listening-album img{width:100%;height:100%;object-fit:cover}.listening-album>span{position:absolute;z-index:1;left:11px;right:11px;bottom:10px;display:grid;gap:2px;opacity:0;transform:translateY(5px);transition:opacity .25s ease,transform .25s ease}.listening-album>span strong,.listening-album>span small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.listening-album>span strong{font-size:10px;line-height:1.3}.listening-album>span small{font-size:8px;color:#ffffffb8}.listening-album:hover>span{opacity:1;transform:none}.listening-album:hover::after{opacity:1}.listening-tracks{display:grid!important;gap:7px}.listening-track{position:relative;isolation:isolate;display:grid;grid-template-columns:33px 24px minmax(0,1fr) auto;grid-template-areas:'image number title time' 'image number artist time';min-height:48px;padding:8px 10px;border:1px solid #ffffff12;border-radius:8px;background:#ffffff035;overflow:hidden}.listening-track::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,#ffffff07,#ffffff015);transition:background .2s ease}.listening-track:hover::before{background:linear-gradient(105deg,#ffffff10,#ffffff025)}.listening-track>span{grid-area:number;align-self:center;color:#ffffff73;font:9px var(--mono)}.listening-track>img,.listening-track>i{grid-area:image;align-self:center;width:32px;height:32px;border:1px solid #ffffff16;border-radius:6px;object-fit:cover;background:#ffffff08}.listening-track>i{display:grid;place-items:center}.listening-track>i .icon{width:13px;height:13px}.listening-track strong{grid-area:title;align-self:end;font-size:11px}.listening-track small{grid-area:artist;align-self:start;font-size:9px}.listening-track time{grid-area:time;align-self:center;color:#ffffff8c;font-size:9px}.listening-favourite{position:relative;display:flex;align-items:end;min-height:260px;padding:18px;border:1px solid #ffffff16;border-radius:10px;overflow:hidden;background:#ffffff04}.listening-favourite>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5;filter:blur(8px) saturate(.8);transform:scale(1.08)}.listening-favourite::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,#0009,#0001 62%,#000a)}.listening-favourite>span{position:relative;z-index:1;display:grid;gap:3px}.listening-favourite small{font:9px var(--mono);color:#ffffffa3}.listening-favourite strong{font-size:23px;line-height:1.15;letter-spacing:-.6px}.listening-favourite em{font-size:11px;font-style:normal;color:#ffffffc7}.listening-favourite b{margin-top:6px;font:10px var(--mono);color:#ffffff94}.listening-stats{display:block!important}.listening-stat-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.listening-stat-cards>div{padding:14px;border:1px solid #ffffff12;border-radius:8px;background:#ffffff035}.listening-stat-cards small{display:block;color:#ffffff8c;font-size:10px}.listening-stat-cards strong{display:block;margin-top:5px;font-size:21px;letter-spacing:-.65px}.listening-insights{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:13px}.listening-insights article{padding:13px;border:1px solid #ffffff12;border-radius:8px;background:#ffffff025}.listening-insights h3{margin:0 0 9px;font-size:11px;font-weight:600}.listening-insight-row{display:grid;grid-template-columns:21px minmax(0,1fr) auto;grid-template-areas:'number title count' 'number subtitle count';align-items:center;min-height:38px;padding:5px;border-radius:6px}.listening-insight-row+.listening-insight-row{border-top:1px solid #ffffff0b}.listening-insight-row:hover{background:#ffffff06}.listening-insight-row>span{grid-area:number;font:8px var(--mono);color:var(--faint)}.listening-insight-row>img{grid-area:image;width:28px;height:28px;border-radius:5px;object-fit:cover}.listening-insight-row>strong{grid-area:title;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:500}.listening-insight-row>small{grid-area:subtitle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--faint);font-size:8px}.listening-insight-row>b{grid-area:count;font:9px var(--mono);color:#ffffff8c}@media(max-width:700px){.listening-tabs button{font-size:9px}.listening-albums{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.listening-favourite{min-height:215px}.listening-insights{grid-template-columns:1fr}.listening-track{padding:8px}.listening-track>span{display:none}.listening-track{grid-template-columns:33px minmax(0,1fr) auto;grid-template-areas:'image title time' 'image artist time'}}

.listening-track{background:#ffffff05}.listening-track::before{background:linear-gradient(105deg,#ffffff07,#ffffff05)}.listening-track:hover::before{background:linear-gradient(105deg,#ffffff10,#ffffff08)}.listening-stat-cards>div{background:#ffffff05}.listening-insights article{background:#ffffff05}
.listening-insight-row:has(img){grid-template-columns:21px 30px minmax(0,1fr) auto;grid-template-areas:'number image title count' 'number image subtitle count';gap:7px}.listening-insight-row:has(img)>img{grid-area:image}
.listening-panel[hidden]{display:none!important}
.listening-tabs--three{grid-template-columns:repeat(3,1fr)}.listening-albums{grid-template-columns:repeat(5,minmax(0,1fr))}.listening-favourite-panel{display:grid;gap:14px}.favourite-top{padding:13px;border:1px solid #ffffff12;border-radius:8px;background:#ffffff05}.favourite-top h3{margin:0 0 8px;font-size:11px;font-weight:600}.favourite-top a{display:grid;grid-template-columns:24px minmax(0,1fr) auto;grid-template-areas:'number title time' 'number artist time';align-items:center;min-height:39px;padding:5px;border-radius:6px}.favourite-top a+a{border-top:1px solid #ffffff0b}.favourite-top a:hover{background:#ffffff06}.favourite-top a>span{grid-area:number;color:var(--faint);font:8px var(--mono)}.favourite-top a>strong{grid-area:title;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:500}.favourite-top a>small{grid-area:artist;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--faint);font-size:8px}.favourite-top a>time{grid-area:time;color:var(--faint);font:8px var(--mono)}@media(max-width:700px){.listening-albums{grid-template-columns:repeat(2,minmax(0,1fr))}.listening-tabs--three button{font-size:10px}}

.listening-album>span{opacity:1;transform:none}.listening-album::after{opacity:.66}.listening-album:hover::after{opacity:.76}
.listening-album-count{position:absolute;z-index:1;top:9px;right:9px;border:1px solid #ffffff2e;border-radius:999px;padding:3px 6px;background:#090a0db8;color:#fff;font:8px/1 var(--mono);letter-spacing:.1px}

main[data-page] .page,main[data-page] .page *{text-transform:lowercase!important}
.music-page .spotify-now{margin:0 0 22px;overflow:hidden;border:1px solid #ffffff16;border-radius:12px;background:#08090be8;box-shadow:inset 0 1px 0 #ffffff06}.music-page .spotify-track{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px 15px 11px}.music-page .spotify-cover{width:58px;height:58px;border:1px solid #ffffff1a;border-radius:9px;background:#ffffff08;color:#fff}.music-page .spotify-copy .card-kicker{margin:0 0 5px;color:#a9abb3;font-size:8px}.music-page .spotify-live-dot{width:5px;height:5px;background:#fff;box-shadow:0 0 0 3px #ffffff14}.music-page .spotify-copy h2{margin:0 0 3px;font-size:14px;font-weight:650;letter-spacing:-.35px}.music-page .spotify-copy>p:not(.card-kicker){font-size:10px;color:#898b95}.music-page .spotify-open{align-self:center;margin:0;padding:6px 9px;border:1px solid #ffffff1c;border-radius:6px;color:#e7e7ea;font:9px/1 var(--mono);background:#ffffff05}.music-page .spotify-open:hover{border-color:#ffffff40;background:#ffffff0c;color:#fff}.music-page .spotify-progress{padding:0 15px 12px}.music-page .spotify-progress-track{height:2px;background:#ffffff18}.music-page .spotify-progress-track>span{background:#fff;box-shadow:none}.music-page .spotify-times{margin-top:6px;color:#747680;font-size:8px}@media(max-width:700px){.music-page .spotify-track{grid-template-columns:52px minmax(0,1fr);padding:13px 13px 10px}.music-page .spotify-cover{width:52px;height:52px}.music-page .spotify-open{display:none}.music-page .spotify-progress{padding:0 13px 11px}}
.music-page .spotify-now{margin:0 0 22px;background:linear-gradient(120deg,#ffffff0a,#ffffff025);border-color:#ffffff18}.music-page .spotify-track{display:flex;align-items:center;gap:15px;padding:15px 16px 12px}.music-page .spotify-cover{width:68px;height:68px;flex:0 0 68px;border-radius:10px;border-color:#ffffff1c;background:#ffffff08}.music-page .spotify-copy{display:block;min-width:0}.music-page .spotify-copy .card-kicker{margin:0 0 6px;color:#b7b8bf;font-size:8px}.music-page .spotify-copy h2{margin:0 0 4px;font-size:15px;line-height:1.1;font-weight:650}.music-page .spotify-copy>p:not(.card-kicker){font-size:10px;color:#9698a1}.music-page .spotify-open{display:inline-flex;margin-top:9px;padding:0;border:0;border-radius:0;background:transparent;color:#d4d5da;font:9px/1 var(--mono)}.music-page .spotify-open:hover{background:transparent;color:#fff}.music-page .spotify-progress{padding:0 16px 13px}.music-page .spotify-progress-track{height:2px;background:#ffffff17}.music-page .spotify-progress-track>span{background:#fff;box-shadow:none}.music-page .spotify-times{margin-top:6px;color:#747680;font-size:8px}@media(max-width:700px){.music-page .spotify-track{padding:14px 14px 11px}.music-page .spotify-cover{width:62px;height:62px;flex-basis:62px}.music-page .spotify-progress{padding:0 14px 12px}}
.music-page .spotify-now{margin:0 0 24px;background:linear-gradient(135deg,#ffffff06,#ffffff018);border-color:#ffffff14;box-shadow:inset 0 1px 0 #ffffff04}
.music-page .spotify-track{display:grid;grid-template-columns:62px minmax(0,1fr) 108px;align-items:center;gap:14px;padding:15px 16px 13px}
.music-page .spotify-cover{width:62px;height:62px;flex:none;border-radius:9px;border-color:#ffffff16;background:#ffffff06}
.music-page .spotify-copy .card-kicker{margin:0 0 5px;color:#9698a1;font-size:8px;letter-spacing:.55px}
.music-page .spotify-live-dot{width:5px;height:5px;background:#e9e9ed;box-shadow:0 0 0 3px #ffffff12}
.music-page .spotify-copy h2{margin:0 0 3px;font-size:14px;font-weight:600;letter-spacing:-.3px}
.music-page .spotify-copy>p:not(.card-kicker){font-size:10px;color:#8b8d97}
.music-page .spotify-live-info{align-self:stretch;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:3px;padding-left:14px;border-left:1px solid #ffffff10;font-family:var(--mono);white-space:nowrap}
.music-page .spotify-live-info>span{color:#777985;font-size:8px;letter-spacing:.5px}
.music-page .spotify-live-info>strong{color:#dedee3;font-size:10px;font-weight:500;font-variant-numeric:tabular-nums}
.music-page .spotify-open{margin:3px 0 0;padding:0;color:#aeb0b9;font:9px/1 var(--mono);gap:5px}
.music-page .spotify-open .icon{width:11px;height:11px}.music-page .spotify-open:hover{color:#fff}
.music-page .spotify-progress{padding:0 16px 13px}.music-page .spotify-progress-track{height:1px;background:#ffffff17}.music-page .spotify-progress-track>span{background:#f0f0f2}.music-page .spotify-times{margin-top:7px;color:#6f717b;font-size:8px}
@media(max-width:700px){.music-page .spotify-track{grid-template-columns:56px minmax(0,1fr);padding:14px 14px 12px}.music-page .spotify-cover{width:56px;height:56px}.music-page .spotify-live-info{display:none}.music-page .spotify-progress{padding:0 14px 12px}}

.music-page .spotify-now{background:linear-gradient(120deg,#ffffff05,#ffffff01);border-color:var(--border);box-shadow:inset 0 1px 0 #ffffff02}

.home-identity{display:block;margin-bottom:37px}
.home-identity .home-intro{display:flex;align-items:center;gap:21px;padding:4px 0}
.profile-links{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:12px}
.profile-links a{display:inline-flex;align-items:center;gap:7px;min-height:27px;padding:5px 10px;border:1px solid #ffffff16;border-radius:7px;background:#0b0c0da8;color:#afb1ba;font:10px/1 var(--sans);transition:border-color .18s ease,background .18s ease,color .18s ease}
.profile-links a .icon{width:13px;height:13px;color:#d9dbe1}
.profile-links a:last-child{background:#ffffff0a;color:#e1e2e7}
.profile-links a:last-child .icon{color:#fff}
.profile-links a:hover{border-color:#ffffff38;background:#ffffff10;color:#fff}
.home-identity .intro-panel,.home-identity>.intro-panel,.home-identity .tags{display:none}
@media(max-width:700px){.home-identity{margin-bottom:31px}.home-identity .home-intro{gap:17px;padding:4px 0 0}.profile-links{margin-top:10px;gap:6px}.profile-links a{min-height:26px;padding:5px 8px;font-size:9px}}

.home-identity .profile-age{display:flex}
.profile-links{gap:9px}
.profile-links .commission-link{border-color:#ffffff2a;background:#ffffff0d;color:#f0f0f3}
.commission-dot{width:6px;height:6px;border-radius:50%;background:#f0f0f2;box-shadow:0 0 0 3px #ffffff12}
.commission-link strong{padding-left:7px;border-left:1px solid #ffffff20;color:#c3c5cd;font:9px/1 var(--mono);font-weight:500}
.profile-focus{display:inline-flex;align-items:center;gap:7px;min-height:27px;color:#9597a1;font:10px/1 var(--sans)}
.profile-focus i{font-style:normal;color:#5d5f68}
.profile-age{min-height:82px;justify-content:center;padding:16px 18px;background:linear-gradient(120deg,#ffffff05,#ffffff01)}
.profile-age .life-row{width:100%;margin:0;padding:0;border:0;gap:11px}
.profile-age .life-pulse{width:6px;height:6px;background:#e6e7eb;box-shadow:0 0 0 4px #ffffff0e;animation:none}
.profile-age .life-label{color:#8e909a;font-size:8px;letter-spacing:.8px}
.profile-age .life-row time{color:#e5e5e9;font-size:11px;letter-spacing:.1px}
@media(min-width:701px){.home-identity{display:grid;grid-template-columns:minmax(0,1fr) 275px;align-items:center;column-gap:42px;margin-bottom:44px}.home-identity .home-intro{min-width:0}.home-identity .profile-age{margin:0}}
@media(max-width:700px){.home-identity .profile-age{display:none}.profile-focus{font-size:9px}.profile-links{gap:7px}}

.contact-discord-side{grid-template-columns:minmax(0,1fr);min-height:76px;padding:12px 13px}
.contact-discord-side:has(.contact-discord-activity-art:not([hidden])){grid-template-columns:42px minmax(0,1fr)}
.contact-discord-activity-copy{gap:4px}
.contact-discord-activity-copy>span{font-size:8px;color:#989aa4;letter-spacing:.7px}
.contact-discord-activity-copy strong{display:flex;align-items:center;gap:6px;min-width:0;color:#f2f2f4;font:600 12px/1.25 var(--sans);text-transform:none;overflow:visible;white-space:normal}
.contact-discord-activity-copy strong::before{display:none}
.contact-discord-activity-copy strong b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:inherit}
.contact-discord-activity-copy small{font:9px/1.3 var(--mono);overflow:visible;white-space:normal;text-overflow:clip}
#contact-discord-status-emoji{width:14px;height:14px;flex:0 0 14px;display:grid;place-items:center;color:#fff;font:12px/1 var(--sans)}
#contact-discord-status-emoji img{width:14px;height:14px;object-fit:contain}

.contact-discord-side{position:relative;overflow:hidden;transition:border-color .3s ease,background .3s ease,transform .3s cubic-bezier(.16,1,.3,1)}
.contact-discord-side::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 32%,#ffffff14 50%,transparent 68%);transform:translateX(-135%);opacity:0}
.contact-discord-side.is-fresh{animation:presence-settle .5s cubic-bezier(.16,1,.3,1)}
.contact-discord-side.is-fresh::after{animation:presence-sheen .62s cubic-bezier(.16,1,.3,1)}
.contact-discord-activity-copy>*{transition:opacity .24s ease,transform .32s cubic-bezier(.16,1,.3,1)}
.contact-discord-side.is-fresh .contact-discord-activity-copy>*{animation:presence-copy .48s cubic-bezier(.16,1,.3,1) both}
.contact-discord-side.is-fresh .contact-discord-activity-copy strong{animation-delay:.035s}.contact-discord-side.is-fresh .contact-discord-activity-copy small{animation-delay:.07s}
#contact-discord-label{display:flex;align-items:center;gap:5px}
#contact-discord-label::before{content:'';width:5px;height:5px;border-radius:50%;background:#747783;box-shadow:0 0 0 3px #74778322}
.contact-discord-side[data-status=online] #contact-discord-label::before{background:#43b581;box-shadow:0 0 0 3px #43b58122}.contact-discord-side[data-status=idle] #contact-discord-label::before{background:#faa61a;box-shadow:0 0 0 3px #faa61a22}.contact-discord-side[data-status=dnd] #contact-discord-label::before{background:#f04747;box-shadow:0 0 0 3px #f0474722}
.contact-discord-activity-art{transition:opacity .3s ease,transform .45s cubic-bezier(.16,1,.3,1)}.contact-discord-side.is-fresh .contact-discord-activity-art:not([hidden]){animation:presence-art .5s cubic-bezier(.16,1,.3,1)}
.contact-card-direct{transition:border-color .3s ease,background .3s ease,transform .3s cubic-bezier(.16,1,.3,1)}.contact-card-direct:hover{transform:translateY(-2px)}
@keyframes presence-settle{0%{border-color:#ffffff36;background:#ffffff0d;transform:translateY(2px)}100%{transform:none}}@keyframes presence-copy{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes presence-sheen{0%{opacity:0;transform:translateX(-135%)}18%{opacity:1}100%{opacity:0;transform:translateX(135%)}}@keyframes presence-art{from{opacity:0;transform:scale(.86)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.contact-discord-side.is-fresh,.contact-discord-side.is-fresh::after,.contact-discord-side.is-fresh .contact-discord-activity-copy>*,.contact-discord-side.is-fresh .contact-discord-activity-art:not([hidden]){animation:none}}

.page>*{animation-timing-function:cubic-bezier(.16,1,.3,1);will-change:opacity,transform}
@keyframes content-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes page-travel-up{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes page-travel-down{from{opacity:0;transform:translateY(-28px)}to{opacity:1;transform:translateY(0)}}
.panel,.button,.tag,.dock a,.project-link,.skill,.playlist-card,.playlist-dropdown,.contact-card-direct{will-change:transform}
.contact-discord-side:not(.is-fresh)::after{animation:none}

.page .panel,.page .skill-section,.page .setup-group,.page .lastfm-section,.page .playlist-section,.page .music-item,.page .project-link{animation:surface-settle .42s cubic-bezier(.16,1,.3,1) both}
.page .panel:nth-of-type(2),.page .skill-section:nth-of-type(2),.page .setup-group:nth-of-type(2),.page .music-item:nth-child(2){animation-delay:.035s}
.page .panel:nth-of-type(3),.page .skill-section:nth-of-type(3),.page .setup-group:nth-of-type(3),.page .music-item:nth-child(3){animation-delay:.07s}
.page .panel:nth-of-type(4),.page .music-item:nth-child(4){animation-delay:.105s}
.page .panel:nth-of-type(5),.page .music-item:nth-child(5){animation-delay:.14s}
.page .panel:nth-of-type(6),.page .music-item:nth-child(6){animation-delay:.175s}
.listening-album{animation:album-settle .4s cubic-bezier(.16,1,.3,1) both}.listening-album:nth-child(2){animation-delay:.025s}.listening-album:nth-child(3){animation-delay:.05s}.listening-album:nth-child(4){animation-delay:.075s}.listening-album:nth-child(5){animation-delay:.1s}.listening-album:nth-child(6){animation-delay:.125s}.listening-album:nth-child(7){animation-delay:.15s}.listening-album:nth-child(8){animation-delay:.175s}
.explore-card,.project-link,.setup-app,.contact-card,.listening-album,.playlist-card,.music-item{transition:transform .22s cubic-bezier(.16,1,.3,1),border-color .22s ease,background .22s ease,box-shadow .22s ease,opacity .22s ease}
.explore-card:hover,.project-link:hover,.contact-card:not(.contact-card-direct):hover,.music-item:hover{transform:translateY(-2px)}
.setup-app:hover{transform:translateX(2px) translateY(0)}
.dock a{transition:transform .2s cubic-bezier(.16,1,.3,1),background .2s ease,color .2s ease,border-color .2s ease}.dock a:hover{transform:translateX(2px)}
@keyframes surface-settle{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes album-settle{from{opacity:0;transform:scale(.975)}to{opacity:1;transform:scale(1)}}
@media(max-width:700px){.dock a:hover{transform:translateY(-2px)}.page .panel,.page .skill-section,.page .setup-group,.page .lastfm-section,.page .playlist-section,.page .music-item,.page .project-link{animation-duration:.34s}}
@media(prefers-reduced-motion:reduce){.page .panel,.page .skill-section,.page .setup-group,.page .lastfm-section,.page .playlist-section,.page .music-item,.page .project-link,.listening-album{animation:none}.dock a:hover,.setup-app:hover,.explore-card:hover,.project-link:hover,.contact-card:not(.contact-card-direct):hover,.music-item:hover{transform:none}}
.profile-links .guns-link{color:#cfd0d7}.profile-links .guns-link .icon{width:11px;height:11px;color:#fff}
.profile-links .guns-link{background:#ffffff0d;border-color:#ffffff2a;color:#f0f0f3;box-shadow:inset 0 1px 0 #ffffff08}
.profile-links .guns-link .icon{margin-left:1px;color:#e5e6ea;opacity:.9}
.profile-links .guns-link:hover{background:#ffffff15;border-color:#ffffff42;color:#fff}

.music-page .spotify-track{grid-template-columns:62px minmax(145px,1fr) minmax(185px,.9fr) 108px}
.spotify-lyrics{align-self:stretch;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:3px;padding:0 16px;border-left:1px solid #ffffff10;color:#a9abb3;background:linear-gradient(90deg,#ffffff018,transparent)}
.spotify-lyrics>span{font:8px/1 var(--mono);letter-spacing:.75px;color:#7e808a}.spotify-lyrics strong{font-size:13px;line-height:1.2;font-weight:600;color:#eeeeef;letter-spacing:-.2px}.spotify-lyrics small{display:flex;align-items:center;gap:5px;color:#9698a2;font:9px/1.3 var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spotify-lyrics small .icon{width:11px;height:11px;color:#e4e4e6}.spotify-lyrics:hover{background:#ffffff06}.spotify-lyrics:hover strong{color:#fff}
@media(max-width:850px){.music-page .spotify-track{grid-template-columns:56px minmax(0,1fr) 92px}.spotify-lyrics{grid-column:2/-1;grid-row:2;min-height:43px;margin-top:1px;padding:9px 0 0;border-top:1px solid #ffffff0e;border-left:0;background:transparent}.spotify-lyrics strong{font-size:12px}.spotify-live-info{grid-column:3;grid-row:1}.spotify-copy{grid-column:2;grid-row:1}}
@media(max-width:520px){.music-page .spotify-track{grid-template-columns:52px minmax(0,1fr)}.music-page .spotify-live-info{display:none}.spotify-lyrics{grid-column:2;grid-row:2}.spotify-copy{grid-column:2;grid-row:1}}
.spotify-lyrics{justify-content:flex-start;padding-top:15px;padding-bottom:10px}
@media(max-width:850px){.spotify-lyrics{justify-content:center;padding:9px 0 0}}
.time-note{gap:7px;color:#898b94}.time-note #contact-clock{display:inline-flex;align-items:center;gap:6px}.time-note #contact-clock span{color:#858790}.time-note #contact-clock time{padding:0;background:transparent;color:#dedee3;font-size:9px;font-variant-numeric:tabular-nums}.time-note #contact-clock i{font-style:normal;color:#575a63;margin:0 1px}

html,body,body *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}img{-webkit-user-drag:none;user-drag:none}html[data-embedded=true] body{visibility:hidden}html[data-devtools=open] .page{filter:blur(8px);pointer-events:none}
