.error-fallback{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem;background:var(--black);color:var(--text-primary);text-align:center}.error-fallback__title{font-size:1rem;letter-spacing:.05em;color:var(--text-primary)}.error-fallback__text{font-size:.875rem;color:var(--text-tertiary)}.error-fallback__btn{margin-top:1rem;padding:.6rem 1.25rem;background:transparent;border:1px dotted rgba(255,255,255,.2);color:var(--text-primary);font-size:.8rem;cursor:pointer;transition:border-color .2s ease}.error-fallback__btn:hover,.error-fallback__btn:focus-visible{border-color:#ffffff73}.hero{margin-bottom:4.5rem;text-align:left}.hero-top{display:flex;justify-content:space-between;align-items:flex-start}@keyframes ethereal-drift{0%,to{transform:scale(var(--ghost-scale, .2)) translate(0) rotate(0);opacity:.9}33%{transform:scale(var(--ghost-scale, .2)) translate(1px,-3px) rotate(1.5deg);opacity:.6}66%{transform:scale(var(--ghost-scale, .2)) translate(-1.5px,1px) rotate(-1deg);opacity:.8}}.hero-ghost{display:flex;align-items:flex-end;margin-top:20px;width:68px;height:56px;position:relative;overflow:visible;cursor:pointer;-webkit-tap-highlight-color:transparent}.hero-ghost.ghost-revealed{cursor:default}.pixel-ghost{--ghost-scale: .2;font-family:monospace;font-size:20px;transform:scale(var(--ghost-scale));transform-origin:top left;position:absolute;top:0;left:0;line-height:1;letter-spacing:0;color:var(--white);opacity:.9;-webkit-font-smoothing:none;font-smooth:never;text-rendering:pixelated;-webkit-text-size-adjust:none;text-size-adjust:none;animation:ethereal-drift 6s ease-in-out infinite;-webkit-user-select:none;user-select:none;text-shadow:0 0 8px rgba(255,255,255,.4);width:max-content;margin:0}@media(max-width:600px){.hero-ghost{margin-top:20px;margin-right:22px;width:48px;height:40px}.pixel-ghost{--ghost-scale: .2;font-size:14px;transform:scale(var(--ghost-scale));left:18px}}.ghost-thought{position:absolute;top:-30px;right:80px;opacity:0;transform:translateY(4px) scale(.96);animation:thoughtFadeIn .8s var(--ease-out-expo) 1.2s forwards}.thought-prompt-desktop{display:none}.thought-prompt-mobile{display:inline}@media(min-width:601px){.thought-prompt-desktop{display:inline}.thought-prompt-mobile{display:none}}.thought-prompt{color:var(--gray-400)}@keyframes messageReveal{0%{opacity:0;transform:translateY(3px) scale(.92);filter:blur(2px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.thought-message{display:inline-block;animation:messageReveal .5s var(--ease-out-expo) forwards}.thought-dot{display:block;border-radius:50%;background:var(--gray-600);border:1px solid var(--border-medium);position:absolute}.thought-dot-large{width:5px;height:5px;bottom:-10px;right:-3px}.thought-dot-small{width:3px;height:3px;bottom:-20px;right:-6px}.thought-bubble{font-family:var(--font-label);font-size:.6875rem;line-height:1.35;color:var(--gray-400);background:#ffffff0f;border:1px solid var(--border-medium);border-radius:8px 8px 2px;padding:5px 9px;white-space:nowrap;letter-spacing:.01em}.thought-bubble em{font-style:normal;color:var(--gray-300)}@keyframes thoughtFadeIn{to{opacity:.75;transform:translateY(0) scale(1)}}@media(max-width:600px){.ghost-thought{right:35px;top:-34px}.thought-dot-large{width:4px;height:4px;bottom:-8px;right:-2px}.thought-dot-small{width:2px;height:2px;bottom:-15px;right:-4px}.thought-bubble{font-size:.5625rem;padding:4px 7px;border-radius:6px 6px 2px}}.hero-title{font-size:clamp(2.75rem,8vw,4.25rem);font-weight:700;letter-spacing:-.04em;line-height:1;margin-bottom:1rem;color:var(--text-primary)}.title-line{display:inline-block;opacity:0;transform:translateY(40px);animation:fadeUp 1s var(--ease-out-expo) .3s forwards}.hero-subtitle{font-size:1.25rem;font-weight:400;color:var(--gray-300);margin-bottom:.5rem;opacity:0;transform:translateY(20px);animation:fadeUp .8s var(--ease-out-expo) .5s forwards}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}.section{margin-bottom:var(--section-gap)}:root{--spotify-bg: rgba(255, 255, 255, .015);--spotify-text: #f0f0ec;--spotify-text-secondary: rgba(240, 240, 236, .6);--spotify-text-muted: rgba(240, 240, 236, .4);--spotify-progress-bg: rgba(255, 255, 255, .05);--spotify-progress-fill: rgba(240, 240, 236, .9);--spotify-shadow: rgba(0, 0, 0, .2);--spotify-green: rgba(240, 240, 236, .9);--theme-transition: all .4s cubic-bezier(.25, .8, .25, 1)}.spotify-widget{margin:0 0 1.5rem;padding:.75rem 1rem;border:1px dotted rgba(255,255,255,.2);border-radius:16px;background-color:transparent;position:relative;overflow:hidden;display:none;opacity:0;transition:var(--theme-transition)}.spotify-widget:before{content:"";position:absolute;inset:0;opacity:0;transition:opacity .3s ease;pointer-events:none}.spotify-widget.show{opacity:1;transform:translateY(0);display:block}.spotify-widget__header{position:absolute;top:.625rem;right:.75rem;z-index:10}.spotify-widget__logo{display:inline-flex;align-items:center;justify-content:center;color:var(--spotify-green);text-decoration:none;font-size:18px;transition:all .2s ease}.spotify-widget__logo i{display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em}.spotify-widget__logo.spinning i{animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spotify-widget__status{display:inline-block;font-size:.75rem;color:var(--spotify-text-secondary);font-weight:500;margin-right:2rem}.spotify-widget__content{color:var(--spotify-text);transition:color .4s cubic-bezier(.25,.8,.25,1)}.spotify-widget__track{display:flex;align-items:center;gap:15px;margin-bottom:0}.spotify-widget__album-art{border-radius:8px;box-shadow:0 4px 12px var(--spotify-shadow);transition:all .3s cubic-bezier(.25,.8,.25,1);opacity:0;transform:scale(.9)}.spotify-widget__album-art.loaded{opacity:1;transform:scale(1)}.spotify-widget__album-art.not-playing{opacity:.6;filter:grayscale(30%)}.spotify-widget__track-info{flex:1;min-width:0;opacity:0;transform:translate(-10px);transition:all .3s cubic-bezier(.25,.8,.25,1)}.spotify-widget__track-info.loaded{opacity:1;transform:translate(0)}.spotify-widget__track-name{font-weight:600;margin-bottom:4px;color:var(--spotify-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .4s cubic-bezier(.25,.8,.25,1)}.spotify-widget__artist{color:var(--spotify-text-secondary);margin-bottom:2px;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .4s cubic-bezier(.25,.8,.25,1)}.spotify-widget__album{color:var(--spotify-text-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .4s cubic-bezier(.25,.8,.25,1)}.spotify-widget__progress{background-color:var(--spotify-progress-bg);height:4px;border-radius:2px;margin:10px 0;overflow:hidden;transition:background-color .4s cubic-bezier(.25,.8,.25,1)}.spotify-widget__progress-fill{height:100%;background:linear-gradient(90deg,#f0f0ec 0% 100%);transition:width .5s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1);border-radius:2px;transform-origin:left;box-shadow:0 0 10px #1db95466}.spotify-widget__time{display:flex;justify-content:space-between;font-size:12px;color:var(--spotify-progress-fill);font-family:monospace;opacity:0;transform:translateY(5px);transition:all .3s cubic-bezier(.25,.8,.25,1)}.spotify-widget__time.loaded{opacity:1;transform:translateY(0)}.spotify-widget__auth-link{color:var(--spotify-green);text-decoration:none;font-weight:500}.spotify-widget__auth-link:hover{text-decoration:underline}@media(min-width:769px)and (max-width:1024px){.spotify-widget{padding:.5rem .625rem;margin-bottom:1.25rem}.spotify-widget__header{top:.5rem;right:.625rem}}@media(min-width:641px)and (max-width:768px){.spotify-widget{padding:.5rem .625rem;margin-bottom:1.25rem}.spotify-widget__header{top:.5rem;right:.625rem}.spotify-widget__logo{font-size:16px}.spotify-widget__status{font-size:13px}}@media(max-width:640px){.spotify-widget{padding:.5rem .625rem;margin-bottom:1rem;border-radius:12px}.spotify-widget__header{top:.5rem;right:.625rem}.spotify-widget__logo{font-size:16px}.spotify-widget__track{gap:12px;margin-bottom:0}.spotify-widget__album-art{width:52px;height:52px}.spotify-widget__track-name{font-size:15px}.spotify-widget__artist{font-size:13px}.spotify-widget__album{font-size:11px}}@media(max-width:400px){.spotify-widget{padding:.5rem .625rem;margin-bottom:.875rem}.spotify-widget__header{top:.5rem;right:.625rem}.spotify-widget__logo{font-size:14px}.spotify-widget__status{font-size:12px}.spotify-widget__album-art{width:48px;height:48px}.spotify-widget__track-name{font-size:14px}.spotify-widget__artist{font-size:12px}.spotify-widget__album{font-size:10px}}@media(prefers-reduced-motion:reduce){.spotify-widget,.spotify-widget__album-art,.spotify-widget__track-info,.spotify-widget__time,.spotify-widget__progress-fill{transition:none;animation:none}.spotify-widget__logo.spinning i{animation:none}}@keyframes bounce{0%{transform:scaleY(.3);transform-origin:bottom}to{transform:scaleY(1);transform-origin:bottom}}.ascii-eq-container{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:transparent;border-radius:8px;overflow:hidden}.ascii-eq-bars{display:flex;gap:3px;align-items:flex-end;height:60px}.ascii-eq-bar{width:6px;background:#fff;border-radius:2px}.spotify-widget__loading-text{color:#fff6;font-size:14px}.bento-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:.75rem}.tile-wrapper{position:relative;display:flex;align-items:stretch;opacity:0;transform:translateY(30px);transition:all .6s var(--ease-out-expo)}.tile-wrapper.visible{opacity:1;transform:translateY(0)}.tile-wrapper:nth-child(1){transition-delay:.05s}.tile-wrapper:nth-child(2){transition-delay:.1s}.tile-wrapper:nth-child(3){transition-delay:.15s}.tile-wrapper:nth-child(4){transition-delay:.2s}.tile-wrapper:nth-child(5){transition-delay:.25s}.tile-wrapper:nth-child(6){transition-delay:.3s}.tile-wrapper:nth-child(7){transition-delay:.35s}.tile-wrapper:nth-child(8){transition-delay:.4s}.tile-wrapper:nth-child(9){transition-delay:.45s}.tile-wrapper:nth-child(10){transition-delay:.5s}.tile{position:relative;display:flex;flex:1;align-items:center;gap:.625rem;padding:1.25rem 1.5rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:12px;text-decoration:none;color:var(--text-primary);overflow:hidden;transition:background-color .2s ease,border-color .2s ease}.tile-wrapper:has(.copy-btn) .tile{border-radius:12px 0 0 12px}.tile-wrapper:hover .tile{background:var(--bg-hover);border-color:var(--border-medium)}.tile i,.tile svg,.tile-icon-img{position:relative;z-index:1;font-size:1.25rem;width:1.5rem;text-align:center;flex-shrink:0;color:var(--gray-400);object-fit:contain;transition:color .2s ease,filter .2s ease,opacity .2s ease}.tile-icon-img{filter:grayscale(1) brightness(.85);opacity:.9}.tile-wrapper:hover i,.tile-wrapper:hover svg{color:var(--text-primary)}.tile-wrapper:hover .tile-icon-img{filter:none;opacity:1}.tile span{position:relative;z-index:1;font-size:.9375rem;font-weight:500;letter-spacing:-.01em}.copy-btn{display:flex;align-items:center;justify-content:center;width:48px;min-width:48px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-left:none;border-radius:0 12px 12px 0;color:var(--gray-500);cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.tile-wrapper:hover .copy-btn{background:var(--bg-hover);border-color:var(--border-medium)}.copy-btn:hover{color:var(--text-primary)}.copy-btn:active{transform:scale(.95)}.copy-btn i{font-size:.875rem;transition:transform .3s var(--ease-out-expo)}.copy-btn:hover i{transform:scale(1.1)}.tile--primary{grid-column:span 6}.tile--xl{grid-column:span 8}.tile--lg,.tile--md{grid-column:span 6}.tile--sm{grid-column:span 4}.tile--xs{grid-column:span 3}.tile--primary .tile,.tile--xl .tile{padding:1.5rem 1.75rem;min-height:72px}.tile--primary .tile i,.tile--xl .tile i{font-size:1.5rem;width:1.75rem}.tile--primary .tile span,.tile--xl .tile span{font-size:1rem;font-weight:600}.tile--sm .tile,.tile--xs .tile{padding:1rem 1.25rem}.tile--sm .tile i,.tile--xs .tile i{font-size:1rem}.tile--sm .tile span,.tile--xs .tile span{font-size:.8125rem}@media(max-width:768px){.bento-grid{gap:.5rem}.tile--primary,.tile--xl,.tile--lg,.tile--md{grid-column:span 12}.tile--sm{grid-column:span 6}.tile--xs{grid-column:span 4}}@media(max-width:480px){.tile,.tile--primary .tile,.tile--xl .tile,.tile--lg .tile,.tile--md .tile,.tile--sm .tile,.tile--xs .tile{padding:.875rem 1rem;min-height:50px;border-radius:12px;gap:.625rem}.tile--primary,.tile--xl,.tile--lg,.tile--md{grid-column:span 12}.tile--sm,.tile--xs{grid-column:span 6}.tile--sm .tile span,.tile--xs .tile span{font-size:.75rem}.copy-btn{width:44px;min-width:44px}}.accordion-wrapper{position:relative}.accordion-container{display:flex;flex-direction:column;gap:0}.accordion-item{background:none;border:none;border-bottom:1px solid var(--border-subtle)}.accordion-item:last-child{border-bottom:none}.accordion-header{position:relative;width:100%;display:flex;align-items:center;gap:1.25rem;padding:1.25rem 0;text-align:left;transition:all .3s ease}.accordion-toggle{background:none;border:none;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.accordion-toggle:after{content:"";position:absolute;inset:0}.accordion-toggle:focus-visible{outline:none}.accordion-toggle:focus-visible:after{outline:2px solid var(--gray-200);outline-offset:-2px;border-radius:8px}.accordion-item:hover .accordion-subtitle{color:var(--gray-300)}.accordion-item:hover .accordion-chevron-box{border-color:var(--border-medium)}.accordion-item:hover .accordion-icon{color:var(--gray-300)}.accordion-logo{width:46px;height:46px;background:#080808;border:1px solid rgba(255,255,255,.05);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.125rem;color:var(--text-secondary);overflow:hidden}.accordion-logo img{width:22px;height:22px;object-fit:contain;filter:grayscale(1) brightness(.9) opacity(.8);transition:all .3s ease}.accordion-item:hover .accordion-logo img{filter:none;opacity:1}.accordion-info{flex:1;display:flex;flex-direction:column;gap:.125rem}.accordion-title-row{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap}.accordion-title{font-size:.9375rem;font-weight:600;color:var(--white);letter-spacing:-.01em}.accordion-links{position:relative;z-index:1;display:flex;align-items:center;gap:.4rem}.accordion-link-icon{font-size:.6875rem;color:var(--text-muted);transition:all .2s ease;text-decoration:none;opacity:.6;display:flex;align-items:center}.accordion-link-img{width:.75rem;height:.75rem;object-fit:contain;filter:grayscale(1) brightness(.8);transition:all .2s ease}.accordion-link-icon:hover{color:var(--white);opacity:1}.accordion-link-icon:hover .accordion-link-img{filter:grayscale(0) brightness(1)}.accordion-subtitle{font-size:.8125rem;color:var(--gray-400);font-weight:400;transition:color .3s ease}.accordion-meta{text-align:right;display:flex;flex-direction:column;gap:.125rem;margin-right:.5rem}.accordion-date{font-size:.8125rem;color:var(--gray-300);font-weight:500;font-variant-numeric:tabular-nums}.accordion-location{font-size:.75rem;color:var(--gray-400)}.accordion-chevron-box{width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;transition:all .3s var(--ease-out-expo);background:#ffffff05}.accordion-icon{font-size:.625rem;color:var(--text-muted);transition:transform .4s var(--ease-out-expo)}.accordion-icon.rotated{transform:rotate(180deg);color:var(--white)}.accordion-content{overflow:hidden}.accordion-inner{padding:0 0 1.5rem 4.125rem;font-size:.875rem;line-height:1.6;color:var(--gray-300)}.accordion-bullet-point{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.5rem}.accordion-bullet-point .bullet{width:6px;height:6px;background:var(--text-muted);border-radius:50%;margin-top:.5rem;flex-shrink:0}.accordion-bullet-point:hover .bullet{background:var(--text-primary)}@media(max-width:600px){.accordion-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"logo info chevron" "logo meta chevron";align-items:center;column-gap:1rem;row-gap:.25rem;padding:1.25rem 0}.accordion-logo{grid-area:logo}.accordion-info{grid-area:info;gap:.125rem}.accordion-title-row{gap:.5rem}.accordion-meta{grid-area:meta;flex-direction:row;align-items:baseline;gap:.4rem;text-align:left;margin-right:0}.accordion-location:before{content:"·";margin-right:.4rem;color:var(--gray-500)}.accordion-date,.accordion-location{font-size:.75rem;opacity:.8}.accordion-chevron-box{grid-area:chevron;width:30px;height:30px}.accordion-inner{padding-left:0}}.expand-button-container{display:flex;justify-content:center;margin-top:1.5rem}.expand-btn{background:transparent;color:var(--gray-100);border:1px dotted var(--gray-100);padding:.875rem 1.75rem;border-radius:12px;font-size:.9375rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.625rem}.expand-btn:hover{opacity:.9}.expand-btn:active{transform:translateY(0)}.expand-btn i{font-size:.75rem}.heatmap-section{margin-bottom:var(--section-gap)}.heatmap-container{position:relative;padding:0 0 1rem;overflow:hidden;max-width:100%}.heatmap-actual{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.heatmap-actual::-webkit-scrollbar{display:none}.heatmap-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem}.heatmap-title{font-size:.8125rem;font-weight:500;color:var(--text-secondary);letter-spacing:.02em}.contribution-stats{font-size:.75rem;color:var(--gray-400);font-variant-numeric:tabular-nums}#github-heatmap{display:inline-block;min-height:120px}.heatmap-svg{display:block}.month-label{font-family:Inter,sans-serif;font-size:11px;fill:var(--gray-400);font-weight:400}.contribution-cell{cursor:pointer;transition:all .1s ease}.contribution-cell:hover{stroke:#fff3}.heatmap-tooltip{position:fixed;background:var(--white);color:var(--black);border-radius:6px;padding:.5rem .75rem;font-size:.75rem;font-weight:500;pointer-events:none;opacity:0;transform:translate(-50%,-100%) translateY(-10px);transition:opacity .15s ease;z-index:9999;box-shadow:0 8px 24px #0006;white-space:nowrap}.heatmap-tooltip.visible{opacity:1}.heatmap-footer{display:flex;align-items:center;justify-content:space-between;margin-top:.75rem;font-size:.75rem;color:var(--gray-400)}.contribution-summary{font-size:.75rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.contribution-summary a{color:var(--text-primary);text-decoration:none;border-bottom:1px solid var(--border-subtle);transition:border-color .2s ease}.contribution-summary a:hover{border-bottom-color:var(--text-primary)}.heatmap-legend{display:flex;align-items:center;gap:.375rem;font-size:.6875rem}.heatmap-legend-label{color:var(--gray-400)}.heatmap-legend-colors{display:flex;gap:2px;margin:0 .25rem}.heatmap-legend-cell{width:10px;height:10px;border-radius:2px}.heatmap-error{text-align:center;color:var(--gray-400);font-size:.875rem;padding:2rem 0}@media(max-width:768px){.heatmap-footer{flex-direction:column;align-items:flex-start;gap:.75rem}.heatmap-legend{align-self:flex-end}}@media(max-width:480px){.heatmap-title{font-size:.75rem}}.custom-select{position:relative;width:100%}.custom-select-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;background-color:var(--gray-900);border:1px solid var(--border-medium);border-radius:12px;padding:1.125rem 1.25rem;color:var(--white);font-size:1rem;font-family:inherit;text-align:left;cursor:pointer;transition:border-color .2s ease,background-color .2s ease}.custom-select-trigger:hover{border-color:var(--border-strong);background-color:var(--gray-850)}.custom-select-trigger:focus-visible{outline:none;border-color:var(--white);background-color:var(--gray-850)}.custom-select.open .custom-select-trigger{border-color:var(--white);background-color:var(--gray-850)}.custom-select-trigger.placeholder .custom-select-value{color:var(--gray-400)}.custom-select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-select-arrow{flex-shrink:0;font-size:.75rem;color:var(--gray-400);transition:transform .3s var(--ease-out-expo),color .2s ease}.custom-select.open .custom-select-arrow{transform:rotate(180deg);color:var(--gray-200)}.custom-select-options{position:absolute;top:calc(100% + .5rem);left:0;right:0;z-index:20;margin:0;padding:.375rem;list-style:none;background-color:var(--gray-900);border:1px solid var(--border-strong);border-radius:12px;box-shadow:0 16px 40px #0009;max-height:15rem;overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-6px) scale(.98);transform-origin:top center;transition:opacity .22s var(--ease-out-expo),transform .22s var(--ease-out-expo),visibility .22s var(--ease-out-expo)}.custom-select.open .custom-select-options{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.custom-select-option{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem .875rem;border-radius:8px;color:var(--gray-200);font-size:.9375rem;cursor:pointer;transition:background-color .15s ease,color .15s ease}.custom-select.open .custom-select-option{animation:custom-select-option-in .32s var(--ease-out-expo) backwards;animation-delay:calc(var(--i) * 28ms)}@keyframes custom-select-option-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.custom-select-option.active{background-color:var(--gray-800);color:var(--white)}.custom-select-option.selected{color:var(--white)}.custom-select-check{flex-shrink:0;font-size:.75rem;color:var(--white)}.custom-select-mirror{position:absolute;left:50%;bottom:.5rem;width:1px;height:1px;padding:0;border:0;opacity:0;pointer-events:none}@media(hover:hover){.custom-select-option:hover{background-color:var(--gray-800);color:var(--white)}}@media(prefers-reduced-motion:reduce){.custom-select-arrow,.custom-select-options{transition-duration:.01ms}.custom-select.open .custom-select-option{animation:none}}.contact-section{margin-bottom:var(--section-gap)}.contact-card{border:1px dotted rgba(255,255,255,.15);border-radius:16px;padding:2.25rem 2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background .3s ease,border-color .3s ease}.contact-card:hover{border-color:#ffffff40}.contact-text{font-size:clamp(1.25rem,4vw,1.625rem);font-weight:600;color:var(--gray-100);margin-bottom:1.75rem;letter-spacing:-.02em;line-height:1.25;text-wrap:balance}.book-btn{background:var(--gray-100);color:var(--black);border:none;padding:.875rem 1.75rem;border-radius:12px;font-size:.9375rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.75rem;transition:background-color .2s ease}.book-btn:hover{background:var(--white)}.modal-overlay{position:fixed;inset:0;z-index:9999;background:#000000d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:0;visibility:hidden;transition:all .4s var(--ease-out-expo)}.modal-overlay.active{opacity:1;visibility:visible}.modal-container{background:var(--gray-950);border:1px solid var(--border-medium);border-radius:24px;width:100%;max-width:600px;position:relative;padding:3.5rem 3rem;max-height:90vh;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;transform:scale(.98);transition:transform .4s var(--ease-out-expo)}.modal-container::-webkit-scrollbar{display:none}.modal-overlay.active .modal-container{transform:scale(1)}.modal-close{position:absolute;top:1.5rem;right:1.5rem;background:#ffffff0d;border:1px solid var(--border-subtle);width:38px;height:38px;border-radius:50%;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10}.modal-close:hover{background:#ffffff1a;color:var(--white)}.modal-title{font-size:2rem;font-weight:700;color:var(--white);margin-bottom:.5rem;letter-spacing:-.02em}.modal-subtitle{font-size:.9375rem;color:var(--gray-200);margin-bottom:2.5rem}.onboarding-form{display:flex;flex-direction:column;gap:1.75rem}.form-group{display:flex;flex-direction:column;gap:.75rem}.form-label{font-size:.875rem;font-weight:600;color:var(--gray-200);text-transform:uppercase;letter-spacing:.05em}.form-submit-btn{margin-top:1rem;background:var(--white);color:var(--black);border:none;padding:1.125rem;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s ease,transform .2s ease}.form-submit-btn:hover:not(:disabled){opacity:.9}.form-submit-btn:disabled{opacity:.3;cursor:not-allowed}.cal-iframe-container{width:100%;height:700px;background:var(--gray-950)}.cal-iframe-container iframe{width:100%;height:100%;border:none;display:block}.modal-container.cal-active{max-width:1000px;padding:0;overflow:hidden;background:var(--gray-950)}.modal-container.cal-active .modal-close{top:1rem;right:1rem;background:#ffffff1a;border-color:#fff3}@media(max-width:768px){.cal-iframe-container{height:600px}.modal-container.cal-active{max-width:100%;border-radius:16px}.modal-title{font-size:1.5rem}}.cal-iframe-container{position:relative}.cal-loading{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;background:var(--gray-950)}.cal-loading-icon{font-size:2rem;color:var(--gray-400);animation:cal-pulse 2s ease-in-out infinite}@keyframes cal-pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.cal-loading-text{color:var(--gray-400);font-size:.8125rem;letter-spacing:.05em}.loading-dots:after{content:"";animation:dots 1.4s steps(4,end) infinite}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}.cal-iframe-container iframe.iframe-loading{opacity:0}.cal-iframe-container iframe.iframe-loaded{opacity:1;transition:opacity .4s ease}.section-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;opacity:0;transform:translateY(20px);transition:all .8s var(--ease-out-expo)}.section-header.visible{opacity:1;transform:translateY(0)}.section-number{font-family:var(--font-label);font-size:.75rem;font-weight:500;color:var(--gray-500);letter-spacing:.1em;font-variant-numeric:tabular-nums}.section-title{font-size:.875rem;font-weight:600;color:var(--gray-300);text-transform:uppercase;letter-spacing:.15em}.section-line{flex:1;height:1px;background:linear-gradient(90deg,var(--border-medium) 0%,transparent 100%)}.page-nav{display:flex;align-items:center;gap:1rem;margin-bottom:2.5rem;opacity:0;transform:translateY(10px);animation:pageNavFadeIn .6s var(--ease-out-expo) .1s forwards}@keyframes pageNavFadeIn{to{opacity:1;transform:translateY(0)}}.page-nav__back{display:inline-flex;align-items:center;gap:.625rem;padding:.5rem .5rem .5rem 0;font-family:var(--font-label);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--gray-400);text-decoration:none;transition:color .25s ease}.page-nav__back:hover{color:var(--text-primary)}.page-nav__back i{font-size:.6875rem;transition:transform .25s var(--ease-out-expo)}.page-nav__back:hover i{transform:translate(-3px)}.page-nav__line{flex:1;height:1px;background:linear-gradient(90deg,var(--border-medium) 0%,transparent 100%)}.subpage{min-height:60vh;display:flex;flex-direction:column}.subpage__header{margin-bottom:2rem}.subpage__title{font-size:clamp(2rem,6vw,3rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;color:var(--text-primary);opacity:0;transform:translateY(30px);animation:pageContentFadeUp .8s var(--ease-out-expo) .2s forwards}.subpage__subtitle{font-size:.95rem;color:var(--gray-400);margin-top:.75rem;line-height:1.5;opacity:0;transform:translateY(20px);animation:pageContentFadeUp .8s var(--ease-out-expo) .35s forwards}.subpage__body{flex:1;opacity:0;transform:translateY(20px);animation:pageContentFadeUp .8s var(--ease-out-expo) .5s forwards}.subpage__placeholder{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;border:1px dashed var(--border-medium);border-radius:10px;background:#ffffff04;margin-top:1rem}.subpage__placeholder-icon{font-size:1rem;color:var(--gray-500);flex-shrink:0}.subpage__placeholder-text{font-family:var(--font-label);font-size:.8rem;color:var(--gray-500);letter-spacing:.01em}.subpage__divider{width:100%;height:1px;background:linear-gradient(90deg,var(--border-medium) 0%,transparent 100%);margin:1.5rem 0;opacity:0;animation:pageContentFadeUp .6s var(--ease-out-expo) .3s forwards}@keyframes pageContentFadeUp{to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.page-nav{margin-bottom:2rem}.subpage__placeholder{padding:1rem 1.25rem}}.about__body{font-size:.9375rem;line-height:1.7;color:var(--gray-300)}.about__body p{margin-bottom:1.25rem}.about__body p:last-child{margin-bottom:0}.newsletter{margin-top:2.5rem;padding:1.75rem;border:1px dotted rgba(255,255,255,.15);border-radius:16px;transition:border-color .3s ease}.newsletter:hover{border-color:#ffffff40}.newsletter__eyebrow{font-family:var(--font-label);font-size:.7rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-500)}.newsletter__title{margin-top:.5rem;font-size:1.125rem;font-weight:600;letter-spacing:-.01em;line-height:1.25;color:var(--gray-100)}.newsletter__description{margin-top:.5rem;font-size:.875rem;line-height:1.6;color:var(--gray-400)}.newsletter__form{margin-top:1.375rem}.newsletter__field{display:flex;align-items:center;gap:.5rem;padding:.3rem .3rem .3rem .9rem;border:1px solid var(--border-medium);border-radius:12px;background:var(--bg-elevated);transition:border-color .25s ease,background .25s ease}.newsletter__field:focus-within{border-color:var(--border-strong);background:var(--bg-hover)}.newsletter__field:has(.newsletter__input:focus-visible){outline:2px solid var(--gray-200);outline-offset:2px}.newsletter__input{min-width:0;flex:1;padding:.6rem 0;border:none;background:none;color:var(--gray-100);font-family:inherit;font-size:.875rem;line-height:1.4}.newsletter__input:focus-visible{outline:none}.newsletter__input::placeholder{color:var(--gray-500)}.newsletter__button{flex-shrink:0;padding:.65rem 1.1rem;border:none;border-radius:9px;background:var(--gray-100);color:var(--black);font-family:var(--font-label);font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background-color .2s ease}.newsletter__button:hover:not(:disabled){background:var(--white)}.newsletter__button:disabled{opacity:.45;cursor:not-allowed}.newsletter__fineprint{margin-top:.875rem;font-size:.72rem;line-height:1.6;color:var(--gray-500)}.newsletter__status{display:flex;align-items:flex-start;gap:.5rem;margin-top:.875rem;font-size:.78rem;line-height:1.55;color:var(--gray-200)}.newsletter__status i{margin-top:.28rem;font-size:.7rem;color:var(--gray-400)}.newsletter__done{display:flex;align-items:flex-start;gap:.75rem;margin-top:1.375rem;padding:.95rem 1.1rem;border:1px solid var(--border-subtle);border-radius:12px;background:var(--bg-elevated);opacity:0;transform:translateY(8px);animation:newsletterFadeUp .5s var(--ease-out-expo) forwards}@keyframes newsletterFadeUp{to{opacity:1;transform:translateY(0)}}.newsletter__done i{margin-top:.2rem;font-size:.8rem;color:var(--gray-400)}.newsletter__done-text{font-size:.8125rem;line-height:1.6;color:var(--gray-300)}.newsletter__done-text strong{font-weight:500;color:var(--gray-100);overflow-wrap:anywhere}.newsletter__honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}@media(max-width:768px){.newsletter{padding:1.5rem 1.25rem}}@media(max-width:480px){.newsletter__field{flex-direction:column;align-items:stretch;gap:.6rem;padding:0;border:none;background:none}.newsletter__field:focus-within{border-color:transparent;background:none}.newsletter__field:has(.newsletter__input:focus-visible){outline:none}.newsletter__input{padding:.7rem .85rem;border:1px solid var(--border-medium);border-radius:10px;background:var(--bg-elevated)}.newsletter__input:focus-visible{outline:2px solid var(--gray-200);outline-offset:2px}.newsletter__button{width:100%;padding:.8rem}}.blog-list{display:flex;flex-direction:column}.blog-list__item{display:block;padding:1.25rem 0;border-bottom:1px solid var(--border-subtle);color:inherit;text-decoration:none}.blog-list__item:first-child{padding-top:0}.blog-list__item:last-child{border-bottom:none}.blog-list__title{font-size:1.125rem;font-weight:600;letter-spacing:-.01em;line-height:1.2;color:var(--gray-200);transition:color .3s ease}.blog-list__item:hover .blog-list__title{color:var(--white)}.blog-list__excerpt{margin-top:.375rem;font-size:.875rem;line-height:1.5;color:var(--gray-400)}.blog-post{display:flex;flex-direction:column}.blog-post__title{font-size:1.5rem;font-weight:600;letter-spacing:-.02em;line-height:1.2;color:var(--text-primary)}.blog-post__meta{font-family:var(--font-label);font-size:.75rem;font-weight:500;letter-spacing:.02em;color:var(--gray-400);margin-top:.625rem;font-variant-numeric:tabular-nums}.blog-post__tldr{margin-top:1.5rem;padding:1rem 1.25rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:12px;font-size:.9375rem;line-height:1.6;color:var(--gray-200)}.blog-post__tldr-label{font-family:var(--font-label);color:var(--gray-400)}.blog-post__body{margin-top:1.75rem;font-size:.875rem;line-height:1.6;color:var(--gray-300)}.blog-post__body p{margin-bottom:1rem}.blog-post__body p:last-child{margin-bottom:0}.blog-post__heading{font-size:1.125rem;font-weight:600;letter-spacing:-.01em;color:var(--gray-200);margin-top:1.75rem;margin-bottom:.75rem}.blog-post__code{margin:.75rem 0 1rem;padding:.75rem 1rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;font-family:var(--font-label);font-size:.8rem;color:var(--gray-300);overflow-x:auto;white-space:pre}.blog-post__code-wrap{position:relative}.blog-post__code-wrap .blog-post__code{margin-bottom:.35rem}.blog-post__fragment{color:var(--cyan);border-bottom:1px dotted rgba(0,242,255,.4);padding-bottom:.05rem;cursor:help;outline:none;transition:border-color .3s var(--ease-out-expo),text-shadow .3s var(--ease-out-expo)}.blog-post__fragment:hover,.blog-post__fragment:focus-visible,.blog-post__fragment--pinned{border-bottom-color:var(--cyan);text-shadow:0 0 12px var(--cyan-glow)}.blog-post__fragment-tip{margin:0 0 1rem;font-family:var(--font-label);font-size:.7rem;letter-spacing:.02em;color:var(--text-secondary);opacity:0;transform:translateY(-4px);transition:opacity .4s var(--ease-out-expo),transform .4s var(--ease-out-expo);pointer-events:none}.blog-post__fragment-tip--visible{opacity:1;transform:translateY(0)}.blog-post__fragment-tip strong{color:var(--cyan);font-weight:500}.blog-post__fragment-tip-arrow{color:var(--text-muted);padding-left:1rem}@media(prefers-reduced-motion:reduce){.blog-post__fragment,.blog-post__fragment-tip{transition:none}}.blog-post__divider{border:none;border-top:1px solid var(--border-subtle);margin:1.5rem 0}.blog-post__body a{color:var(--gray-200);text-decoration:underline;text-underline-offset:2px;transition:color .2s ease}.blog-post__body a:hover{color:var(--white)}.blog-post__body em{font-style:italic;color:var(--gray-200)}.build-log-bar{display:flex;align-items:center;gap:.625rem;width:100%;margin-top:2rem;padding:.75rem 1rem;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-elevated);font-family:var(--font-label);font-size:.8rem;letter-spacing:.02em;color:var(--gray-300);text-decoration:none;transition:border-color .25s ease,background .25s ease,color .25s ease}.build-log-bar:hover{color:var(--white);background:var(--bg-hover);border-color:var(--border-medium)}.build-log-bar__year{font-weight:500;color:var(--gray-200)}.build-log-bar__sep{color:var(--gray-600)}.build-log-bar__label{color:inherit}.build-log-bar__arrow{margin-left:auto;font-size:.7rem;color:var(--gray-500);transition:transform .25s ease,color .25s ease}.build-log-bar:hover .build-log-bar__arrow{color:var(--gray-300);transform:translate(3px)}.build-log{margin-top:1.75rem;display:flex;flex-direction:column}.build-log__month{padding:1.25rem 0;border-bottom:1px solid var(--border-subtle)}.build-log__month:last-child{border-bottom:none}.build-log__month-title{font-family:var(--font-label);font-size:.8rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--gray-400)}.build-log__entries{margin-top:.75rem;padding-left:1.1rem;font-size:.875rem;line-height:1.6;color:var(--gray-300)}.build-log__entries li{margin-bottom:.4rem}.build-log__entries li:last-child{margin-bottom:0}.build-log__empty{margin-top:.5rem;font-size:.8rem;color:var(--gray-600)}@media(max-width:768px){.blog-post__tldr{padding:.875rem 1.125rem}}.blog-post__details{margin-top:1.5rem;margin-bottom:1.5rem;border:1px solid var(--border-subtle);border-radius:10px;background:var(--bg-elevated);overflow:hidden;transition:border-color .25s ease}.blog-post__details:hover{border-color:var(--border-medium)}.blog-post__details-summary{display:flex;align-items:center;padding:.875rem 1.125rem;font-size:.9375rem;font-weight:600;letter-spacing:-.01em;color:var(--gray-200);cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none;transition:color .2s ease}.blog-post__details-summary::-webkit-details-marker{display:none}.blog-post__details-summary:before{content:"";font-family:"Font Awesome 6 Free";font-weight:900;font-size:.6rem;margin-right:.75rem;color:var(--gray-500);transition:transform .25s ease,color .25s ease}.blog-post__details[open]>.blog-post__details-summary:before{transform:rotate(90deg);color:var(--gray-300)}.blog-post__details-summary:hover{color:var(--white)}.blog-post__details-body{padding:0 1.125rem 1rem;font-size:.875rem;line-height:1.6;color:var(--gray-300)}.blog-post__details-body p{margin-bottom:1rem}.blog-post__details-body a{color:var(--gray-200);text-decoration:underline;text-underline-offset:2px;transition:color .2s ease}.blog-post__details-body a:hover{color:var(--white)}.shelf-quote{margin:1.25rem 0 0;padding:1rem 1.25rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:12px;font-size:.9375rem;line-height:1.6;color:var(--gray-200);opacity:0;transform:translateY(20px);animation:pageContentFadeUp .8s var(--ease-out-expo) .45s forwards}.shelf-quote__author{font-family:var(--font-label);font-size:.8125rem;color:var(--gray-400);white-space:nowrap}@media(max-width:480px){.shelf-quote{padding:.875rem 1.125rem}}.shelf-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}.shelf-filter{font-family:var(--font-label);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-500);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:100px;padding:.4rem .85rem;cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease}.shelf-filter:hover{color:var(--gray-200);border-color:var(--border-medium)}.shelf-filter--active{color:var(--white);background:var(--bg-hover);border-color:var(--border-medium)}.shelf-filter:focus-visible{outline:1px solid var(--border-strong);outline-offset:2px}.shelf-list{display:flex;flex-direction:column}.book{position:relative;display:flex;gap:1.25rem;padding:1.5rem 0;border-bottom:1px solid var(--border-subtle)}.book:first-child{padding-top:0}.book:last-child{border-bottom:none}.book__cover{flex-shrink:0;width:60px;aspect-ratio:2 / 3;border-radius:4px;overflow:hidden;background:var(--gray-900);border:1px solid var(--border-subtle)}.book__cover img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.85);transition:filter .3s ease}.book:hover .book__cover img{filter:none}.book__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.5rem}.book__head{display:flex;flex-direction:column;gap:.15rem}.book__link{width:fit-content;color:inherit;text-decoration:none}.book__link:after{content:"";position:absolute;inset:0;z-index:1}.book__title{font-size:.9375rem;font-weight:600;letter-spacing:-.01em;color:var(--gray-100);transition:color .3s ease}.book:hover .book__title{color:var(--white)}.book__author{font-size:.8125rem;color:var(--gray-400)}.book__desc{margin:0;font-size:.8125rem;line-height:1.6;color:var(--gray-400);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.book__desc--expanded{-webkit-line-clamp:unset;line-clamp:unset;overflow:visible}.book__desc--interactive{position:relative;z-index:2;width:fit-content;cursor:pointer;transition:color .2s ease}.book__desc--interactive:hover{color:var(--gray-300)}.book__desc--interactive:focus-visible{outline:1px solid var(--border-strong);outline-offset:3px;border-radius:2px}@media(max-width:480px){.book{gap:1rem;padding:1.25rem 0}.book__cover{width:52px}}@media(prefers-reduced-motion:reduce){.book__cover img,.book__title,.shelf-filter,.book__desc--interactive{transition:none}}:root{--status-online: #23a55a;--status-idle: #f0b232;--status-dnd: #f23f43;--status-offline: #80848e}.presence{display:flex;flex-direction:column;align-items:center;text-align:center;opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease-out-expo),transform .7s var(--ease-out-expo)}.presence--ready{opacity:1;transform:translateY(0)}.presence__avatar-wrap{position:relative;width:104px;height:104px;margin-bottom:1.05rem;flex-shrink:0}.presence__avatar{width:104px;height:104px;border-radius:50%;object-fit:cover;background:var(--gray-900);display:block}.presence__avatar-wrap{transition:filter .4s var(--ease-out-quart),opacity .4s var(--ease-out-quart)}.presence__avatar-wrap--offline{filter:grayscale(.4);opacity:.85}.presence__avatar--live{position:absolute;inset:0;opacity:0;-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 62%,transparent 100%);mask-image:linear-gradient(90deg,#000 0%,#000 62%,transparent 100%);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:left center;mask-position:left center;-webkit-mask-size:0% 100%;mask-size:0% 100%}.presence__avatar--revealed{animation:avatarReveal .42s var(--ease-out-expo) forwards}@keyframes avatarReveal{0%{opacity:0;-webkit-mask-size:0% 100%;mask-size:0% 100%}40%{opacity:1}to{opacity:1;-webkit-mask-size:165% 100%;mask-size:165% 100%}}.presence__decoration{position:absolute;top:50%;left:50%;width:130px;height:130px;transform:translate(-50%,-50%);pointer-events:none;z-index:2}.presence__status-dot{position:absolute;bottom:3px;right:3px;width:22px;height:22px;border-radius:50%;border:4px solid var(--black);z-index:3;background:var(--status-offline)}.presence__status-dot--online{background:var(--status-online)}.presence__status-dot--idle{background:var(--status-idle)}.presence__status-dot--dnd{background:var(--status-dnd)}.presence__status-dot--offline{background:var(--status-offline)}.presence__identity{min-width:0;display:flex;flex-direction:column;align-items:center;gap:.35rem}.presence__name{font-family:var(--font-serif);font-size:2.4rem;font-weight:400;font-style:italic;letter-spacing:0;line-height:1.15;color:var(--social-strong)}.presence__meta{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5rem}.presence__username{font-size:.8rem;letter-spacing:.01em}.presence__status-text{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;letter-spacing:.01em}.presence__username+.presence__status-text:before{content:"·";margin-right:.1rem;letter-spacing:0}.presence__status-glyph{width:7px;height:7px;border-radius:50%;background:var(--status-offline)}.presence__status-text--online .presence__status-glyph{background:var(--status-online)}.presence__status-text--idle .presence__status-glyph{background:var(--status-idle)}.presence__status-text--dnd .presence__status-glyph{background:var(--status-dnd)}.presence__status-text--online .presence__status-glyph{animation:presencePulse 2.4s ease-in-out infinite}@keyframes presencePulse{0%,to{box-shadow:0 0 #23a55a80}50%{box-shadow:0 0 0 4px #23a55a00}}.presence__bubble{display:flex;align-items:center;justify-content:center;gap:3px;margin-top:.5rem;opacity:0;transform:translateY(4px) scale(.96);transform-origin:left center;animation:presenceBubbleIn .7s var(--ease-out-expo) .5s forwards}.presence__bubble-text{display:block;max-width:220px;font-size:.7rem;line-height:1.4;background:#ffffff0f;border:1px solid var(--border-medium);border-radius:2px 10px 10px;padding:5px 9px;letter-spacing:.01em;overflow-wrap:break-word}.presence__bubble-tail{display:block;flex-shrink:0;border-radius:50%;background:var(--gray-600);border:1px solid var(--border-medium)}.presence__bubble-tail--lg{width:5px;height:5px}.presence__bubble-tail--sm{width:3px;height:3px}@keyframes presenceBubbleIn{to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:480px){.presence__avatar-wrap,.presence__avatar{width:92px;height:92px}.presence__avatar-wrap{margin-bottom:.9rem}.presence__decoration{width:115px;height:115px}.presence__status-dot{width:20px;height:20px;border-width:3px}.presence__name{font-size:1.7rem}.presence__bubble-text{max-width:100%;font-size:.62rem}}@media(prefers-reduced-motion:reduce){.presence,.presence__bubble,.presence__status-text--online .presence__status-glyph{transition:none;animation:none}}@media(prefers-reduced-motion:reduce){.presence__bubble{opacity:1;transform:none}.presence__avatar--revealed{animation:none;opacity:1;-webkit-mask-image:none;mask-image:none}}.lyrics{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border-subtle)}.lyrics__toggle{display:flex;align-items:center;gap:.55rem;width:100%;padding:.6rem .75rem;border:1px solid var(--border-subtle);border-radius:10px;background:#ffffff09;cursor:pointer;font-family:inherit;font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--social-text);transition:background .2s ease,border-color .2s ease,color .2s ease}.lyrics__toggle:hover{background:var(--bg-hover);border-color:var(--border-medium);color:var(--social-strong)}.lyrics__toggle:focus-visible{outline:2px solid var(--gray-200);outline-offset:2px}.lyrics__glyph{width:.95rem;height:.95rem;opacity:.8}.lyrics__label{flex:1;text-align:left}.lyrics__hint{font-size:.62rem;letter-spacing:.12em;opacity:.65}.lyrics__toggle:hover .lyrics__glyph,.lyrics__toggle:hover .lyrics__hint{opacity:1}.lyrics__chevron{width:.9rem;height:.9rem;opacity:.8;transition:transform .4s var(--ease-out-expo)}.lyrics__chevron--up{transform:rotate(180deg)}.lyrics__reveal{overflow:hidden}.lyrics__list{margin-top:.35rem;position:relative;height:132px;overflow-y:auto;display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 22%,#000 78%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 22%,#000 78%,transparent 100%);padding:46px 0}.lyrics__line{padding:.18rem 0;border:none;background:none;text-align:left;font:inherit;font-size:.875rem;line-height:1.45;cursor:pointer;color:var(--social-text);opacity:calc(.55 - var(--distance) * .1);transition:opacity .35s var(--ease-out-expo),color .35s var(--ease-out-expo)}.lyrics__line--active{color:var(--social-strong);opacity:1;font-weight:500}.lyrics__line:hover{opacity:.9}.lyrics__line:focus-visible{outline:2px solid var(--gray-200);outline-offset:2px;border-radius:4px;opacity:1}@media(max-width:480px){.lyrics__list{height:118px;padding:40px 0}.lyrics__line{font-size:.8125rem}}@media(prefers-reduced-motion:reduce){.lyrics__line,.lyrics__chevron{transition:none}}.player{padding:1rem 1.1rem 1.1rem;border:1px dotted rgba(255,255,255,.2);border-radius:16px;background:var(--bg-elevated);opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease-out-expo),transform .6s var(--ease-out-expo)}.player--show{opacity:1;transform:translateY(0)}.player__head{display:flex;align-items:center;gap:15px}.player__art{width:64px;height:64px;border-radius:8px;object-fit:cover;flex-shrink:0;background:var(--gray-900);box-shadow:0 4px 12px #0003;opacity:0;transform:scale(.9);filter:grayscale(30%);transition:opacity .3s cubic-bezier(.25,.8,.25,1),transform .4s var(--ease-out-quart),filter .4s var(--ease-out-quart),box-shadow .4s var(--ease-out-quart)}.player__art.loaded{opacity:.72;transform:scale(1)}.player__art--playing.loaded{opacity:1;filter:grayscale(0);transform:scale(1.02);box-shadow:0 6px 20px #0006}.player__meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.player__eyebrow{display:inline-flex;align-items:center;gap:.4rem;font-size:.62rem;text-transform:uppercase;letter-spacing:.14em;opacity:.8}.player__disc{width:1.25em;height:1.25em}.player__art--playing~.player__meta .player__eyebrow .player__disc{animation:discSpin 3s linear infinite}@keyframes discSpin{to{transform:rotate(360deg)}}.player__title{font-weight:600;font-size:.95rem;letter-spacing:-.01em;color:var(--social-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player__artist{font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player__controls{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.player__mute{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border-subtle);border-radius:50%;background:none;color:var(--social-text);font-size:.7rem;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .15s ease}.player__mute svg{width:1.15rem;height:1.15rem}.player__mute:hover{background:var(--bg-hover);border-color:var(--border-medium);color:var(--social-strong)}.player__mute:active{transform:scale(.94)}.player__play{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:none;border-radius:50%;background:var(--social-strong);color:var(--black);cursor:pointer;transition:opacity .2s ease,transform .15s ease}.player__play:hover{opacity:.9}.player__play:active{transform:scale(.94)}.player__play-glyph{width:1.2rem;height:1.2rem}.player__play-glyph--triangle{transform:translate(.6px)}.player__scrub{display:flex;align-items:center;gap:.6rem;margin-top:.9rem}.player__time{font-size:.68rem;font-variant-numeric:tabular-nums;opacity:.75}.player__time--total{text-align:right}.player__range{flex:1;min-width:0;height:14px;appearance:none;background:none;cursor:pointer}.player__range::-webkit-slider-runnable-track{height:3px;border-radius:100px;background:linear-gradient(90deg,var(--gray-300) var(--progress),rgba(255,255,255,.1) var(--progress))}.player__range::-moz-range-track{height:3px;border-radius:100px;background:linear-gradient(90deg,var(--gray-300) var(--progress),rgba(255,255,255,.1) var(--progress))}.player__range::-webkit-slider-thumb{appearance:none;width:9px;height:9px;margin-top:-3px;border-radius:50%;background:var(--white);opacity:0;transition:opacity .2s ease}.player__range::-moz-range-thumb{width:9px;height:9px;border:none;border-radius:50%;background:var(--white);opacity:0;transition:opacity .2s ease}.player:hover .player__range::-webkit-slider-thumb,.player__range:focus-visible::-webkit-slider-thumb{opacity:1}.player:hover .player__range::-moz-range-thumb,.player__range:focus-visible::-moz-range-thumb{opacity:1}.player__range:focus-visible{outline:2px solid var(--gray-200);outline-offset:4px;border-radius:100px}@media(max-width:480px){.player{padding:.85rem .9rem 1rem}.player__head{gap:12px}.player__art{width:56px;height:56px}.player__controls{gap:.4rem}.player__mute{width:34px;height:34px}.player__mute svg{width:1.05rem;height:1.05rem}.player__play{width:38px;height:38px}.player__range::-webkit-slider-thumb{opacity:1}.player__range::-moz-range-thumb{opacity:1}}@media(prefers-reduced-motion:reduce){.player,.player__art{transition:none}.player__art--playing~.player__meta .player__eyebrow .player__disc{animation:none}}.splash{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#00000073;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:opacity .5s var(--ease-out-expo),backdrop-filter .5s var(--ease-out-expo)}.splash--leaving{opacity:0;pointer-events:none;backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0)}.splash__label{font-size:.82rem;letter-spacing:.18em;text-transform:lowercase;animation:splashBreathe 2.8s ease-in-out infinite}.splash:hover .splash__label,.splash:focus-visible .splash__label{color:var(--social-strong)}.splash:focus-visible{outline:none}@keyframes splashBreathe{0%,to{opacity:.55}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.splash{transition:opacity .2s linear}.splash__label{animation:none;opacity:1}}.backdrop{position:fixed;inset:0;z-index:1;overflow:hidden;pointer-events:none}.backdrop__video{width:100%;height:100%;object-fit:cover;filter:grayscale(.6) brightness(.72) contrast(1.05)}.backdrop__scrim{position:absolute;inset:0;background:linear-gradient(180deg,#0000004d,#00000070 55%,#0009)}@media(prefers-reduced-motion:reduce){.backdrop__scrim{background:#000000b3}}.social__links-group{margin-top:1.5rem}.social__links{display:flex;flex-wrap:wrap;justify-content:center;overflow:hidden;max-width:352px;margin-left:auto;margin-right:auto}.social__link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--social-text);font-size:1.05rem;text-decoration:none;opacity:0;transform:translateY(10px);animation:socialLinkIn .5s var(--ease-out-expo) forwards;animation-delay:calc(.04s * var(--i) + .45s);transition:color .2s ease,transform .2s ease}.social__link:hover{color:var(--social-strong);transform:translateY(-2px);opacity:1}.social__link:focus-visible{outline:2px solid var(--gray-200);outline-offset:-6px;border-radius:10px;color:var(--social-strong)}@keyframes socialLinkIn{to{opacity:1;transform:translateY(0)}}.social__more{display:flex;align-items:center;justify-content:center;width:100%;height:26px;margin-top:.15rem;border:none;background:none;cursor:pointer;color:var(--social-text);opacity:.7;transition:opacity .2s ease}.social__more:hover{opacity:1}.social__more:focus-visible{outline:2px solid var(--gray-200);outline-offset:-4px;border-radius:8px;opacity:1}.social__more-icon{width:.95rem;height:.95rem;transition:transform .4s var(--ease-out-expo)}.social__more-icon--up{transform:rotate(180deg)}@media(max-width:480px){.social__links{max-width:252px}.social__link{width:42px;height:42px;font-size:1rem}}@media(prefers-reduced-motion:reduce){.social__link,.social__more-icon{animation:none;opacity:1;transform:none}}.social,.splash{--social-strong: #f1f5f9;--social-text: #94a3b8;font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;font-weight:400;color:var(--social-text)}.social{position:relative;max-width:560px;margin:1rem auto 3.5rem;display:flex;flex-direction:column;gap:.85rem}.social__card,.social .player{border:1px solid rgba(255,255,255,.1);border-radius:20px;background:linear-gradient(155deg,#ffffff16,#ffffff09 38%,#ffffff05);backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);box-shadow:inset 0 1px #ffffff29,inset 0 -1px #ffffff08,0 20px 50px #00000080}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.social__card,.social .player{background:#181818f0}}.social__card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:2.25rem 1.5rem 1.5rem;opacity:0;transform:translateY(18px);animation:socialFadeUp .8s var(--ease-out-expo) .15s forwards}.social__card:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(118% 78% at 14% -12%,rgba(255,255,255,.1) 0%,rgba(255,255,255,.03) 38%,transparent 62%);pointer-events:none}.social__card>*{position:relative}.social__bio{margin-top:.85rem;font-size:.9rem;line-height:1.5}.social__location{display:inline-flex;align-items:center;gap:.4rem;margin-top:.55rem;font-size:.72rem;letter-spacing:.04em}.social__location svg{width:1.3em;height:1.3em}.social__views{position:absolute;left:1.1rem;bottom:.85rem;display:inline-flex;align-items:center;gap:.35rem;font-size:.68rem;font-variant-numeric:tabular-nums;opacity:.7}.social__views svg{width:1.35em;height:1.35em}@keyframes socialFadeUp{to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.social__card{animation:none;opacity:1;transform:none}}@media(max-width:480px){.social{margin-bottom:3rem}.social__card{padding:2rem 1.1rem 1.4rem}}.notfound{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1.25rem;padding:2rem 0 3rem}.notfound__ghost{width:200px;height:168px;display:flex;align-items:center;justify-content:center;opacity:0;animation:ghostFloat 5s ease-in-out infinite,ghostFadeIn .8s var(--ease-out-expo) .1s forwards}.notfound__ghost-art{font-family:monospace;font-size:20px;line-height:1;letter-spacing:0;color:var(--white);transform:scale(.55);transform-origin:center;-webkit-font-smoothing:none;font-smooth:never;text-rendering:pixelated;text-size-adjust:none;-webkit-text-size-adjust:none;-webkit-user-select:none;user-select:none;margin:0;text-shadow:0 0 8px rgba(255,255,255,.4)}@keyframes ghostFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes ghostFadeIn{to{opacity:1}}.notfound__title{font-size:clamp(2rem,7vw,3.25rem);font-weight:700;letter-spacing:-.03em;line-height:1.05;color:var(--text-primary);opacity:0;transform:translateY(20px);animation:notfoundFadeUp .8s var(--ease-out-expo) .25s forwards}.notfound__title-accent{color:var(--gray-400)}.notfound__msg{font-size:.95rem;color:var(--gray-400);line-height:1.5;max-width:34ch;opacity:0;transform:translateY(20px);animation:notfoundFadeUp .8s var(--ease-out-expo) .4s forwards}.notfound__path{font-family:var(--font-label);font-size:.8rem;letter-spacing:.01em;color:var(--gray-500);padding:.5rem .9rem;border:1px solid var(--border-subtle);border-radius:6px;background:var(--bg-elevated);max-width:100%;overflow-wrap:anywhere;opacity:0;transform:translateY(20px);animation:notfoundFadeUp .8s var(--ease-out-expo) .55s forwards}.notfound__path-method{color:var(--gray-300)}.notfound__path-code{color:var(--gray-600)}@keyframes notfoundFadeUp{to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.notfound__ghost{animation:ghostFadeIn .8s var(--ease-out-expo) .1s forwards}}@media(max-width:768px){.notfound{min-height:55vh;gap:1rem}.notfound__ghost{width:168px;height:140px}.notfound__ghost-art{transform:scale(.46)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{color-scheme:dark;--black: #000000;--gray-950: #0a0a0a;--gray-900: #111111;--gray-850: #161616;--gray-800: #1a1a1a;--gray-700: #262626;--gray-600: #404040;--gray-500: #525252;--gray-400: #7d7d7d;--gray-300: #a3a3a3;--gray-200: #d4d4d4;--gray-100: #e5e5e5;--gray-50: #f5f5f5;--white: #fafafa;--bg-primary: var(--black);--bg-secondary: rgba(10, 10, 10, .1);--bg-elevated: rgba(255, 255, 255, .04);--bg-hover: rgba(255, 255, 255, .08);--text-primary: var(--white);--text-secondary: var(--gray-400);--text-tertiary: var(--gray-500);--text-muted: var(--gray-500);--border-subtle: rgba(255, 255, 255, .06);--border-medium: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .15);--glow-subtle: rgba(255, 255, 255, .03);--glow-medium: rgba(255, 255, 255, .06);--glow-strong: rgba(255, 255, 255, .1);--container-width: 720px;--section-gap: 3rem;--content-padding: 2rem;--font-label: "Montserrat", "Inter", sans-serif;--font-serif: "Instrument Serif", Georgia, "Times New Roman", serif;--cyan: #00f2ff;--cyan-glow: rgba(0, 242, 255, .4);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1)}a{color:var(--text-primary);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:#ffffff47;transition:text-decoration-color .2s ease}a:hover{text-decoration-color:var(--text-primary)}.terminal-text{font-family:var(--font-label)}:focus-visible{outline:2px solid var(--gray-200);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}::selection{background:var(--white);color:var(--black)}html{scrollbar-width:none;-ms-overflow-style:none;background:var(--bg-primary);color:var(--text-primary);overflow-x:hidden}html::-webkit-scrollbar{display:none}html{font-size:16px;scroll-behavior:smooth}.app{overflow-x:hidden;width:100%;position:relative}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.scroll-container{position:relative;z-index:10;min-height:auto;max-width:100vw;overflow-x:hidden}.content-wrapper{max-width:var(--container-width);margin:0 auto;padding:4rem var(--content-padding) 2rem}.content-wrapper>.section:last-of-type{margin-bottom:0}.ascii-bg-layer{position:fixed;width:100%;height:100%;pointer-events:none;opacity:.045;overflow:hidden}.spotify-wrapper{margin-top:2rem}.vignette{position:fixed;inset:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse 80% 80% at 50% 50%,transparent 0%,rgba(0,0,0,.5) 100%)}.footer{margin-top:1.5rem;padding:1rem 0 0rem;border-top:1px solid var(--border-subtle);text-align:center;position:relative;z-index:5}.footer-text{font-size:.8rem;color:var(--gray-400);letter-spacing:.02em}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important}html{scroll-behavior:auto}}@media(max-width:768px){.content-wrapper{padding:3rem 1.25rem 2rem}.ascii-bg-layer{opacity:.07}.footer{padding:1.5rem 1rem 0;font-size:.75rem;line-height:1.4}}
