:root{--bg-color:#faf9f6;--text-color:#1a1918;--text-muted:#6e6b64;--accent-color:#1a1918;--accent-light:rgba(26,25,24,0.06);--border-color:rgba(26,25,24,0.08);--selection-bg:rgba(26,25,24,0.12);--font-serif:var(--font-sans-family),-apple-system,BlinkMacSystemFont,sans-serif;--font-sans:var(--font-sans-family),-apple-system,BlinkMacSystemFont,sans-serif;--cursor-color:#1a1918;--scrollbar-track:#000000;--scrollbar-thumb:#000000;--scrollbar-thumb-hover:#2b2b2b;--scrollbar-thumb-rim:#3a3a3a;--spacing-section:6rem;--spacing-element:1.5rem}*,:after,:before{box-sizing:border-box;margin:0;padding:0}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}html{color-scheme:light;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:none}@supports not selector(::-webkit-scrollbar){html{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}}body{overscroll-behavior-y:none;background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-sans);line-height:1.8;letter-spacing:-.005em;min-height:100vh;display:flex;flex-direction:column;justify-content:space-between;padding:0;transition:background-color .5s cubic-bezier(.25,1,.5,1),color .5s cubic-bezier(.25,1,.5,1);position:relative;overflow-x:hidden}::selection{background-color:var(--selection-bg);color:inherit}.container{width:100%;max-width:1140px;margin:0 auto;padding:3.5rem 4rem 8rem}h1,h2,h3,h4{font-family:var(--font-serif);line-height:1.15}h1,h2,h3,h4,p{font-weight:400;color:var(--text-color)}p{font-size:.9375rem;margin-bottom:var(--spacing-element);-webkit-hyphens:auto;hyphens:auto;word-break:break-word}p.lead{font-size:1.05rem;font-family:var(--font-sans);line-height:1.6;font-weight:300!important;color:var(--text-color);margin-bottom:2rem}a{color:inherit;text-decoration:none;border-bottom:1px solid var(--border-color);transition:color .25s ease,border-color .25s ease}a:focus-visible,a:hover{color:var(--accent-color);border-bottom-color:var(--accent-color);outline:none}em{font-style:normal;padding:.1em .25em;border-radius:2px;transition:background .25s ease,color .25s ease}a em,em{background:var(--accent-light)}a em,a:hover em,em{color:var(--accent-color)}a:hover em{background:var(--selection-bg)}.section-grid{margin-top:var(--spacing-section);width:100%}.section-sidebar{width:100%;display:flex;flex-direction:column;align-items:center;gap:1.25rem;text-align:center;margin-bottom:2.5rem}h2.section-title{position:relative;font-size:1.05rem;font-weight:400;color:var(--accent-color);margin:0;letter-spacing:.02em;padding-bottom:.9rem;width:100%}h2.section-title:after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:2.5rem;height:1px;background:var(--border-color)}.section-body{width:100%}.reveal-section{opacity:0;transition:opacity 1.8s ease-in-out}.reveal-section.revealed{opacity:1}.reveal-section .profile-portrait-wrapper,.reveal-section .section-body>.console-widget,.reveal-section .section-body>.contact-lead,.reveal-section .section-body>.gallery-wrapper,.reveal-section .section-body>.work-wrapper,.reveal-section .section-body>p,.reveal-section .section-title,.reveal-section>h1,.reveal-section>p.lead{opacity:0;transition:opacity 1.5s ease-in-out}.reveal-section.revealed .profile-portrait-wrapper,.reveal-section.revealed .section-body>.console-widget,.reveal-section.revealed .section-body>.contact-lead,.reveal-section.revealed .section-body>.gallery-wrapper,.reveal-section.revealed .section-body>.work-wrapper,.reveal-section.revealed .section-body>p,.reveal-section.revealed .section-title,.reveal-section.revealed>h1,.reveal-section.revealed>p.lead{opacity:1}.reveal-section.revealed>h1{transition-delay:.15s}.reveal-section.revealed>p.lead{transition-delay:.4s}.reveal-section.revealed .section-title{transition-delay:.1s}.reveal-section.revealed .profile-portrait-wrapper{transition-delay:.25s}.reveal-section.revealed .section-body>p:first-child{transition-delay:.2s}.reveal-section.revealed .section-body>p:nth-child(2){transition-delay:.4s}.reveal-section.revealed .section-body>p:nth-child(3){transition-delay:.6s}.reveal-section.revealed .section-body>p:nth-child(4){transition-delay:.8s}.reveal-section.revealed .section-body>.gallery-wrapper{transition-delay:.5s}.reveal-section.revealed .section-body>.console-widget{transition-delay:.7s}.reveal-section.revealed .section-body>.contact-lead{transition-delay:.15s}#intro.reveal-section>h1,#intro.reveal-section>p.lead{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}.fade-word{display:inline-block;opacity:0;transform:translateY(6px);filter:blur(3px);transition:opacity 1.2s cubic-bezier(.16,1,.3,1),transform 1.2s cubic-bezier(.16,1,.3,1),filter 1.2s cubic-bezier(.16,1,.3,1);will-change:opacity,transform,filter}.reveal-section.revealed .fade-word{opacity:1;transform:translateY(0);filter:blur(0)}.btn-toggle{background:none;border:none;font-family:var(--font-sans);font-size:.85rem;color:var(--text-muted);cursor:pointer;padding:0;transition:color .25s ease}.btn-toggle:hover{color:var(--accent-color)}.icon-moon,.icon-sun{width:1.2rem;height:1.2rem;color:var(--accent-color)!important;stroke:var(--accent-color)!important;fill:var(--accent-color)!important;vertical-align:middle}.btn-inline-toggle{font-family:inherit;font-size:inherit;font-weight:inherit;color:var(--accent-color);background:var(--accent-light);padding:.1em .25em;border-radius:2px;border:none;border-bottom:1px dashed var(--border-color);cursor:pointer;transition:color .25s ease,border-color .25s ease,background .25s ease}.btn-inline-toggle:focus-visible,.btn-inline-toggle:hover{color:var(--accent-color);background:var(--selection-bg);border-bottom-style:solid;border-bottom-color:var(--accent-color);outline:none}.work-wrapper{margin-top:1.5rem}.work-container{max-height:0;overflow:hidden;transition:max-height .6s cubic-bezier(.25,1,.5,1)}.work-container.is-expanded{max-height:9999px}.work-inner{padding:.25rem 2px 4px}.section-close-wrapper{display:flex;justify-content:center;padding-bottom:2.5rem}.btn-section-close{background:none;border:none;font-family:var(--font-serif);font-size:.9rem;color:var(--text-muted);cursor:pointer;padding:0;border-bottom:1px solid var(--border-color);transition:color .25s ease,border-color .25s ease}.btn-section-close:focus-visible,.btn-section-close:hover{color:var(--accent-color);border-bottom-color:var(--accent-color);outline:none}a,body,button,h1,h2,h3,img,p,span{-webkit-user-select:none;-moz-user-select:none;user-select:none}input,textarea{-webkit-user-select:text;-moz-user-select:text;user-select:text}img{-webkit-user-drag:none;user-drag:none;pointer-events:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-corner,::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-button{display:none}::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:4px;box-shadow:inset 0 0 0 1px var(--scrollbar-thumb-rim)}::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-scrolling iframe{pointer-events:none}@media print{body:before{content:"Printing is disabled for this portfolio.";display:flex;min-height:100vh;align-items:center;justify-content:center;background:#121110;color:#f6f0e8;font:16px ui-monospace,SFMono-Regular,Menlo,monospace}body>*{display:none!important}}@media (max-width:640px){html{font-size:15px}.container{padding:2.5rem 1.5rem calc(7rem + env(safe-area-inset-bottom, 0px))}h2.section-title{margin-top:3.25rem;margin-bottom:1.25rem;font-size:1rem}p{font-size:.9rem;line-height:1.7}p.lead{font-size:1rem;line-height:1.55;margin-bottom:1.5rem}}.resume-hint-pill{position:fixed;top:0;left:0;z-index:40;transition:transform .22s cubic-bezier(.34,1.56,.64,1),opacity .15s ease;display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .6rem;font-family:var(--font-sans);font-size:.6875rem;font-weight:600;letter-spacing:.01em;white-space:nowrap;color:var(--bg-color);background-color:#000000;border-radius:999px;pointer-events:none}.resume-hint-pill kbd{font-family:inherit;font-size:.625rem;line-height:1;padding:.1rem .3rem;border-radius:3px;background-color:var(--bg-color);color:var(--accent-color)}.resume-hint-face{display:inline-flex;align-items:center;gap:.3rem;animation:resume-hint-face-in .18s cubic-bezier(.34,1.56,.64,1)}.resume-hint-keys,.resume-hint-pill.is-keyboard .resume-hint-label{display:none}.resume-hint-pill.is-keyboard .resume-hint-keys{display:block}.resume-hint-pill.is-keyboard{padding:3px;border-radius:4px;background-color:#000000}.kb-preview{flex-direction:column;width:186px}.kb-preview,.kb-row{display:flex;gap:1.5px}.kb-row{height:11px}.kb-key,.kb-stack{flex:1 1;min-width:0}.kb-key{border-radius:1px;background-color:#161616;transition:background-color .12s ease}.kb-key.is-down{background-color:#6b6b6b;transition-duration:0s}.kb-stack{display:flex;flex-direction:column;gap:1px}.kb-stack .kb-key{flex:1 1}@keyframes resume-hint-face-in{0%{opacity:0;transform:scale(.85)}}@media (pointer:coarse){.resume-hint-pill{display:none}}.lightbox-modal{position:fixed;top:0;left:0;width:100%;height:100dvh;background:radial-gradient(ellipse 90% 85% at 50% 50%,transparent 0,rgba(190,170,140,.35) 100%),radial-gradient(ellipse 40% 50% at 8% 10%,rgba(210,115,30,.08) 0,transparent 70%),radial-gradient(ellipse 30% 40% at 92% 88%,rgba(180,90,20,.06) 0,transparent 65%),rgba(250,247,242,.98);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .4s cubic-bezier(.25,1,.5,1),visibility .4s cubic-bezier(.25,1,.5,1)}.lightbox-modal.is-active{opacity:1;pointer-events:auto;visibility:visible}.lightbox-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:90%;max-height:85%;transform:scale(.96);transition:transform .4s cubic-bezier(.25,1,.5,1);pointer-events:none}.lightbox-modal.is-active .lightbox-content{transform:scale(1)}.lightbox-content img{max-width:100%;max-height:75vh;object-fit:contain;border-radius:1px;filter:sepia(6%) contrast(.98) brightness(1) saturate(.95);box-shadow:0 0 0 1px rgba(140,110,60,.16),0 0 0 9px rgba(255,253,248,.6),0 0 0 10px rgba(150,120,70,.18),0 24px 64px rgba(60,40,20,.22),0 8px 24px rgba(60,40,20,.14);border:none;cursor:zoom-out;pointer-events:auto}.lightbox-close{position:fixed;top:2rem;right:2rem;background:none;border:none;color:#3a3733;font-size:2.5rem;font-weight:300;line-height:1;cursor:pointer;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s cubic-bezier(.25,1,.5,1);z-index:1011;outline:none}.lightbox-close:focus-visible,.lightbox-close:hover{color:var(--accent-color);transform:rotate(90deg);background-color:rgba(0,0,0,.05)}.lightbox-caption{margin-top:1.5rem;font-family:var(--font-serif);font-size:1.25rem;color:#7a5c3a;text-align:center;max-width:600px;line-height:1.6;letter-spacing:.035em;opacity:.9}body.lightbox-open{overflow:hidden;padding-right:var(--scrollbar-width,0)}.lightbox-modal img{pointer-events:auto;-webkit-user-drag:none}.lightbox-secret-message{position:absolute;right:5rem;top:50%;transform:translateY(-50%) scale(.95);max-width:320px;color:#3a3733;font-family:var(--font-sans);font-size:.95rem;line-height:1.6;opacity:0;visibility:hidden;transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1),visibility .5s;z-index:1010;border-left:1px solid rgba(26,25,24,.15);padding-left:1.5rem;text-align:left}.lightbox-secret-message.is-visible{opacity:1;visibility:visible;transform:translateY(-50%) scale(1)}.lightbox-secret-message .secret-title{font-family:var(--font-serif);font-size:1.6rem;color:var(--accent-color);margin-bottom:.75rem;font-weight:500;letter-spacing:-.01em}.lightbox-secret-message p{color:#7a5c3a;margin-bottom:.75rem;font-size:.9rem;line-height:1.5;opacity:.85}.lightbox-secret-message p:last-child{margin-bottom:0;color:#1a1918;font-weight:500;opacity:1}@media (min-width:1025px){.lightbox-modal.has-secret-message{display:grid;grid-template-columns:1fr 380px;padding:0 6rem}.lightbox-modal.has-secret-message .lightbox-content{grid-column:1;justify-self:center;max-width:100%}.lightbox-modal.has-secret-message .lightbox-secret-message{grid-column:2;position:relative;right:auto;top:auto;transform:scale(.95);align-self:center}.lightbox-modal.has-secret-message .lightbox-secret-message.is-visible{transform:scale(1)}}@media (max-width:1024px){.lightbox-secret-message{position:relative;right:auto;top:auto;transform:none;max-width:90%;margin-top:2rem;border-left:none;border-top:1px solid rgba(26,25,24,.15);padding-left:0;padding-top:1rem;text-align:center}.lightbox-secret-message.is-visible{transform:none}}@media (max-width:768px){.lightbox-close{top:1rem;right:1rem;background-color:rgba(250,249,246,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}}@property --wave-lift{syntax:"<length>";inherits:false;initial-value:0}.music-wave{--wave-lift:0px;position:fixed;left:0;right:0;bottom:-2px;z-index:900;width:100%;height:calc(190px + var(--wave-lift));pointer-events:none}.music-wave.is-tall{top:0;height:calc(100% + 2px)}html.is-over-boat,html.is-over-boat *{cursor:-webkit-grab!important;cursor:grab!important}html.is-charging,html.is-charging *{-webkit-touch-callout:none!important}html.is-charging,html.is-charging *,html.is-dragging-boat,html.is-dragging-boat *{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}html.is-dragging-boat,html.is-dragging-boat *{cursor:-webkit-grabbing!important;cursor:grabbing!important}.rain-layer{z-index:899}.rain-layer,.thunder-bolt{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}.thunder-bolt{z-index:2147482000;fill:none;stroke:#000000;stroke-linejoin:miter;stroke-linecap:square;transition:opacity .12s linear}.thunder-bolt.is-fading{opacity:0}.thunder-flash{position:fixed;inset:0;z-index:2147482001;background:#ffffff;mix-blend-mode:difference;pointer-events:none}@media (max-width:640px){.music-wave{--wave-lift:calc(1rem + 52px + 0.75rem + env(safe-area-inset-bottom, 0px));height:calc(110px + var(--wave-lift))}}.music-dock{--music-bg:#000000;--music-surface:#1f1f1f;--music-text:#ffffff;--music-muted:#b3b3b3;--music-green:#1ed760;--music-ease:cubic-bezier(0.16,1,0.3,1);--trigger-w:2.5rem;--trigger-h:2.5rem;position:fixed;top:calc(1.25rem + env(safe-area-inset-top, 0px));right:1.5rem;z-index:1100;display:flex;flex-direction:column;align-items:flex-end}.music-dock.is-playing{--trigger-w:4.5rem}.music-trigger{position:relative;z-index:2;display:grid;place-items:center;width:var(--trigger-w);height:var(--trigger-h);border:none;border-radius:999px;background-color:var(--music-bg);color:var(--music-green);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:width .32s var(--music-ease),background-color .2s ease-out}.music-trigger:focus-visible{outline:2px solid var(--text-color);outline-offset:3px}.music-bars,.music-trigger svg{grid-area:1/1;transition:opacity .22s ease-out}.music-bars{display:flex;align-items:center;gap:3px;height:1.1rem;opacity:0}.music-bars span{width:3px;height:100%;border-radius:999px;background-color:currentColor;transform:scaleY(.3)}.music-trigger.is-playing svg{opacity:0}.music-trigger.is-playing .music-bars{opacity:1}.music-trigger.is-playing .music-bars span{animation:music-bar .9s ease-in-out infinite alternate}.music-trigger.is-playing .music-bars span:nth-child(2){animation-duration:.65s;animation-delay:-.2s}.music-trigger.is-playing .music-bars span:nth-child(3){animation-duration:1.05s;animation-delay:-.5s}.music-trigger.is-playing .music-bars span:nth-child(4){animation-duration:.75s;animation-delay:-.35s}.music-trigger.is-playing .music-bars span:nth-child(5){animation-duration:.95s;animation-delay:-.7s}@keyframes music-bar{0%{transform:scaleY(.25)}to{transform:scaleY(1)}}.music-card{position:absolute;top:0;right:0;z-index:1;width:min(19rem,calc(100vw - 2rem));max-height:calc(100svh - 3rem);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;padding:0 .75rem .75rem;border-radius:14px;background-color:var(--music-bg);color:var(--music-text);line-height:1.35;letter-spacing:0;visibility:hidden;opacity:0;-webkit-clip-path:inset(0 0 100% 100% round 14px);clip-path:inset(0 0 100% 100% round 14px);transition:opacity .2s ease-out,visibility 0s linear .36s,-webkit-clip-path .36s var(--music-ease);transition:clip-path .36s var(--music-ease),opacity .2s ease-out,visibility 0s linear .36s;transition:clip-path .36s var(--music-ease),opacity .2s ease-out,visibility 0s linear .36s,-webkit-clip-path .36s var(--music-ease)}.music-card>*{opacity:0;transition:opacity .12s ease-out}.music-card p{margin:0;color:inherit;font-size:inherit;-webkit-hyphens:none;hyphens:none}.music-card.is-open{visibility:visible;opacity:1;-webkit-clip-path:inset(0 0 0 0 round 14px);clip-path:inset(0 0 0 0 round 14px);transition:opacity .16s ease-out,visibility 0s,-webkit-clip-path .42s var(--music-ease);transition:clip-path .42s var(--music-ease),opacity .16s ease-out,visibility 0s;transition:clip-path .42s var(--music-ease),opacity .16s ease-out,visibility 0s,-webkit-clip-path .42s var(--music-ease)}.music-card.is-open>*{opacity:1;transition:opacity .22s ease-out .14s}.music-card .music-head{display:flex;align-items:center;height:var(--trigger-h);padding-right:calc(var(--trigger-w) + .5rem);font-size:.6875rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--music-muted);transition:padding-right .32s var(--music-ease)}.music-head+.music-art{margin-top:.5rem}.music-art{aspect-ratio:1;overflow:hidden;border-radius:8px;background-color:var(--music-surface)}.music-art img{display:block;width:100%;height:100%;object-fit:cover;animation:music-art-in .32s ease-out}@keyframes music-art-in{0%{opacity:0;filter:blur(8px)}}.music-meta{display:flex;align-items:center;gap:.75rem;margin-top:.85rem}.music-titles{flex:1 1;min-width:0;animation:music-titles-in .36s var(--music-ease)}@keyframes music-titles-in{0%{opacity:0;transform:translateY(4px)}}.music-card .music-title{font-size:1.125rem;font-weight:600}.music-card .music-artist,.music-card .music-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-card .music-artist{margin-top:.1rem;font-size:.875rem;color:var(--music-muted)}.music-open{display:grid;place-items:center;width:2rem;height:2rem;border-radius:999px;color:var(--music-muted);transition:color .16s ease-out}.music-open:focus-visible{color:var(--music-text)}.music-progress{margin-top:.75rem}.music-bar{height:3px;border-radius:999px;background-color:rgba(255,255,255,.18);overflow:hidden}.music-bar span{display:block;height:100%;background-color:var(--music-text);transform-origin:left;transition:transform .25s linear}.music-times{justify-content:space-between;font-size:.6875rem;color:var(--music-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.music-controls,.music-times{display:flex;margin-top:.35rem}.music-controls{align-items:center;justify-content:center;gap:1.25rem}.music-controls button{-webkit-tap-highlight-color:transparent;touch-action:manipulation;display:grid;place-items:center;border:none;cursor:pointer}.music-control-spacer{width:2.25rem;height:2.25rem}.music-loop{position:relative}.music-controls .music-loop.is-on{color:var(--music-green)}.music-loop.is-on:after{content:"";position:absolute;bottom:.1rem;left:50%;width:4px;height:4px;border-radius:50%;background-color:currentColor;transform:translateX(-50%)}.music-skip{width:2.25rem;height:2.25rem;border-radius:999px;background:none;color:var(--music-muted);transition:color .16s ease-out}.music-play{width:2.75rem;height:2.75rem;border-radius:999px;background-color:var(--music-text);color:var(--music-bg);transition:background-color .16s ease-out}.music-controls button:focus-visible,.music-open:focus-visible,.music-row:focus-visible{outline:2px solid var(--music-text);outline-offset:2px}.music-queue{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.08)}.music-queue ol{list-style:none;max-height:14.5rem;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent;-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 1.5rem),transparent);mask-image:linear-gradient(180deg,#000 calc(100% - 1.5rem),transparent)}.music-queue li{position:relative;display:flex;align-items:center;border-radius:6px}.music-queue li.is-dragged{z-index:1;background-color:#2a2a2a;box-shadow:0 8px 20px -8px rgba(0,0,0,.6)}.music-queue ol.is-dragging,.music-queue ol.is-dragging *{cursor:-webkit-grabbing;cursor:grabbing;-webkit-user-select:none;-moz-user-select:none;user-select:none}.music-queue ol.is-dragging .music-row{pointer-events:none}.music-grip{-webkit-tap-highlight-color:transparent;flex-shrink:0;display:grid;place-items:center;width:2rem;height:2.5rem;border:none;border-radius:6px;background:none;color:var(--music-muted);cursor:-webkit-grab;cursor:grab;touch-action:none;opacity:.55;transition:opacity .16s ease-out,color .16s ease-out}.music-grip:focus-visible,.music-queue li.is-dragged .music-grip,.music-queue li:hover .music-grip{opacity:1;color:var(--music-text)}.music-grip:focus-visible{outline:2px solid var(--music-text);outline-offset:-2px}.music-search{display:flex;align-items:center;gap:.5rem;margin:0 .35rem .5rem;padding:0 .65rem;height:2.25rem;border-radius:999px;background-color:rgba(255,255,255,.07);color:var(--music-muted);transition:background-color .16s ease-out}.music-search:focus-within{background-color:rgba(255,255,255,.12);color:var(--music-text)}.music-search input{flex:1 1;min-width:0;border:none;outline:none;background:none;color:var(--music-text);font:inherit;font-size:.8125rem}.music-search input::placeholder{color:var(--music-muted)}.music-search input::-webkit-search-cancel-button{display:none}.music-card .music-search-note{margin:0;padding:.75rem .35rem;font-size:.8125rem;color:var(--music-muted)}.music-search-results ol.is-stale{opacity:.45;transition:opacity .12s ease-out}.music-add{cursor:pointer;touch-action:manipulation}.music-add.is-added{opacity:1;color:var(--music-green)}.music-add-done{font-size:.6875rem;font-weight:600}.music-row{-webkit-tap-highlight-color:transparent;display:flex;align-items:center;gap:.65rem;width:100%;padding:.35rem;border:none;border-radius:6px;background:none;color:inherit;min-width:0;text-align:left;cursor:pointer;transition:background-color .16s ease-out}.music-row img{flex-shrink:0;width:2.25rem;height:2.25rem;border-radius:4px;object-fit:cover}.music-row-text{flex:1 1;min-width:0;display:flex;flex-direction:column}.music-row-artist,.music-row-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-row-title{font-size:.875rem;font-weight:500}.music-row-artist{font-size:.75rem;color:var(--music-muted)}.music-row .music-eq,.music-row.is-active .music-row-title{color:var(--music-green)}.music-row .music-eq{margin-right:.25rem}.music-eq{display:inline-flex;align-items:flex-end;gap:2px;height:.65rem}.music-eq span{width:2px;height:100%;border-radius:1px;background-color:currentColor;transform-origin:bottom;animation:music-eq .9s ease-in-out infinite}.music-eq span:nth-child(2){animation-delay:-.3s}.music-eq span:nth-child(3){animation-delay:-.6s}@keyframes music-eq{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}@media (hover:hover){.music-open:hover,.music-skip:hover{color:var(--music-text)}.music-play:hover{background-color:#e6e6e6}.music-row:hover{background-color:var(--music-surface)}}.music-controls button:active,.music-row:active,.music-trigger:active{opacity:.7}@media (pointer:coarse){.music-dock{--trigger-w:44px;--trigger-h:44px}.music-dock.is-playing{--trigger-w:76px}.music-open,.music-skip{width:44px;height:44px}.music-row{padding-block:.45rem}}@media (max-width:640px){.music-dock,.music-dock.is-playing{--trigger-h:52px}.music-dock{--trigger-w:52px;top:auto;bottom:calc(1rem + env(safe-area-inset-bottom, 0px));right:1rem}.music-dock.is-playing{--trigger-w:68px}.music-card{top:auto;bottom:calc(var(--trigger-h) + .6rem);width:calc(100vw - 2rem);max-width:22rem;max-height:calc(100svh - 6.5rem - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));-webkit-clip-path:inset(100% 0 0 100% round 14px);clip-path:inset(100% 0 0 100% round 14px)}.music-card.is-open{-webkit-clip-path:inset(0 0 0 0 round 14px);clip-path:inset(0 0 0 0 round 14px)}.music-card .music-head{display:none}.music-card{display:grid;grid-template-columns:64px minmax(0,1fr);grid-column-gap:.75rem;column-gap:.75rem;align-items:center;width:min(18rem,calc(100vw - 2rem));padding-top:.75rem}.music-card>*{grid-column:1/-1}.music-card>.music-art{grid-column:1;width:64px;margin-top:0;border-radius:6px}.music-card>.music-meta{grid-column:2;margin-top:0}.music-card .music-title{font-size:1rem}.music-queue ol{max-height:9.5rem}}@media (max-width:359px){.music-dock.is-playing{--trigger-w:52px}.music-bars{gap:2px}}@media (pointer:coarse){.music-search input{font-size:16px}}.music-now{grid-area:1/1;max-width:100%;padding-inline:1.125rem;overflow:hidden;color:var(--music-text);font-size:.8125rem;font-weight:500;letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;opacity:0;transition:opacity .18s ease-out}.music-dock.is-playing.is-announcing{--trigger-w:var(--announce-w,12rem)}.music-dock.is-announcing .music-trigger .music-bars{opacity:0}.music-dock.is-announcing .music-now{opacity:1;transition:opacity .24s ease-out .14s}.ink-tornado{inset:0;z-index:899;width:100%;height:100%}.ink-tornado,.morph-nav{position:fixed;pointer-events:none}.morph-nav{--nav-bg:#000000;--nav-surface:#1c1c1c;--nav-text:#f5f4f0;--nav-muted:#9a978f;--nav-ease:cubic-bezier(0.16,1,0.3,1);--nav-radius:16px;top:calc(1.25rem + env(safe-area-inset-top, 0px));left:50%;z-index:1050;transform:translateX(-50%);width:min(56rem,calc(100vw - 2rem));flex-direction:column;line-height:1.35;letter-spacing:0}.morph-nav,.morph-nav-bar{display:flex;align-items:center}.morph-nav-bar{position:relative;gap:.15rem;padding:.3rem;border-radius:999px;background-color:var(--nav-bg);pointer-events:auto;transition:transform .22s var(--nav-ease)}.morph-nav-bar.is-dragging{transform:scale(1.04)}.morph-nav-indicator{position:absolute;top:.3rem;bottom:.3rem;left:0;width:0;border-radius:999px;background-color:var(--nav-surface);opacity:0;pointer-events:none;transition:transform .3s var(--nav-ease),width .3s var(--nav-ease),opacity .2s ease-out,background-color .16s ease-out}.morph-nav-indicator.is-visible{opacity:1}.morph-nav-bar.is-dragging .morph-nav-indicator{background-color:#2e2e2e;transition-duration:.16s,.16s,.2s,.16s}.morph-nav-link,.morph-nav-trigger{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;height:2rem;border:none;border-radius:999px;background:none;color:var(--nav-muted);font-family:var(--font-sans);font-size:.875rem;font-weight:500;text-decoration:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:color .16s ease-out,background-color .16s ease-out}.morph-nav-link{padding:0 .8rem}.morph-nav-link[aria-current=page]{color:var(--nav-text)}.morph-nav-trigger{gap:.3rem;padding:0 .8rem}.morph-nav-trigger svg{transition:transform .24s var(--nav-ease)}.morph-nav-trigger.is-active{color:var(--nav-text)}.morph-nav-trigger.is-active svg{transform:rotate(180deg)}.morph-nav-link:focus-visible,.morph-nav-section a:focus-visible,.morph-nav-trigger:focus-visible{outline:2px solid var(--nav-text);outline-offset:2px}.morph-nav-viewport{position:relative;width:100%;margin-top:.6rem;opacity:0;transform:translateY(-6px);transition:opacity .18s ease-out,transform .24s var(--nav-ease)}.morph-nav-viewport.is-open.is-placed{opacity:1;transform:none}.morph-nav-bg{position:absolute;inset:0;background-color:var(--nav-bg);-webkit-clip-path:inset(0 calc(100% - var(--nav-x) - var(--nav-w)) calc(100% - var(--nav-h)) var(--nav-x) round var(--nav-radius));clip-path:inset(0 calc(100% - var(--nav-x) - var(--nav-w)) calc(100% - var(--nav-h)) var(--nav-x) round var(--nav-radius))}.morph-nav-viewport.is-open .morph-nav-bg{pointer-events:auto;transition:-webkit-clip-path .38s var(--nav-ease);transition:clip-path .38s var(--nav-ease);transition:clip-path .38s var(--nav-ease),-webkit-clip-path .38s var(--nav-ease)}.morph-nav-section{position:absolute;top:0;left:0;width:max-content;max-width:100%;padding:.6rem;color:var(--nav-text);opacity:0;pointer-events:none;transition:opacity .16s ease-out,transform .38s var(--nav-ease)}.morph-nav-section.is-active{opacity:1;pointer-events:auto;transition:opacity .24s ease-out 80ms,transform .38s var(--nav-ease)}.morph-nav-viewport:not(.is-open) .morph-nav-section{transition:opacity .16s ease-out}.morph-nav-section ul{list-style:none;margin:0;padding:0}.morph-nav-section a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}.nav-item-title{display:block;font-size:.9rem;font-weight:500;color:var(--nav-text)}.nav-item-note{display:block;margin-top:.1rem;font-size:.75rem;color:var(--nav-muted)}.nav-work{display:flex;gap:.6rem}.nav-work-list{width:17.5rem}.nav-grid-item,.nav-list-item,.nav-work-item{display:block;padding:.55rem .7rem;border-radius:10px;transition:background-color .16s ease-out}.nav-work-item.is-focused{background-color:var(--nav-surface)}.nav-work-all{display:block;padding:.55rem .7rem .3rem;font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--nav-muted);transition:color .16s ease-out}.nav-work-preview{position:relative;display:block;width:34rem;aspect-ratio:16/10;align-self:flex-start;overflow:hidden;border-radius:10px;background-color:var(--nav-surface);cursor:pointer}.nav-work-preview img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center;animation:nav-preview-in .36s var(--nav-ease);transition:transform .3s var(--nav-ease)}@keyframes nav-preview-in{0%{opacity:0;filter:blur(10px);transform:scale(1.03)}}.nav-work-caption{position:absolute;left:.6rem;bottom:.6rem;padding:.2rem .55rem;border-radius:999px;background-color:rgba(15,15,15,.72);font-size:.6875rem;color:var(--nav-text)}.nav-list{width:15rem}.nav-grid{display:grid;grid-template-columns:repeat(2,11rem);grid-gap:.35rem;gap:.35rem}.nav-grid-item{height:100%;background-color:var(--nav-surface)}@media (hover:hover){.morph-nav-link:hover,.morph-nav-trigger:hover{color:var(--nav-text)}.nav-grid-item:hover,.nav-list-item:hover{background-color:#262626}.nav-list-item:hover{background-color:var(--nav-surface)}.nav-work-all:hover{color:var(--nav-text)}.nav-work-preview:hover img{transform:scale(1.025)}}@media (pointer:coarse){.morph-nav-bar{touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.morph-nav-viewport.is-open{touch-action:none;overscroll-behavior:contain}.morph-nav-link,.morph-nav-trigger{height:44px}.nav-work-all{display:flex;align-items:center;min-height:44px;padding-block:0}.morph-nav-link,.morph-nav-trigger{padding:0 .65rem}}@media (max-width:1023px){.nav-work-preview{width:min(34rem,calc(100vw - 2rem - 17.5rem - 2.6rem))}}@media (max-width:640px){.morph-nav{top:auto;bottom:calc(1rem + env(safe-area-inset-bottom, 0px));left:1rem;flex-direction:column-reverse;align-items:flex-start;transform:none;width:calc(100vw - 2rem)}.morph-nav-bar{height:52px;padding:4px}.morph-nav-indicator{top:4px;bottom:4px}.morph-nav-viewport{margin-top:0;margin-bottom:.6rem;transform:translateY(6px)}.morph-nav-bg{-webkit-clip-path:inset(calc(100% - var(--nav-h)) calc(100% - var(--nav-x) - var(--nav-w)) 0 var(--nav-x) round var(--nav-radius));clip-path:inset(calc(100% - var(--nav-h)) calc(100% - var(--nav-x) - var(--nav-w)) 0 var(--nav-x) round var(--nav-radius))}.morph-nav-section{top:auto;bottom:0}.morph-nav-trigger svg,.nav-work-preview{display:none}.nav-list,.nav-work-list{width:min(17rem,calc(100vw - 3.2rem))}.nav-grid{grid-template-columns:repeat(2,minmax(0,calc((100vw - 3.55rem) / 2)))}}@media (max-width:359px){.morph-nav-link,.morph-nav-trigger{padding:0 .45rem}}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/adb45196eddef626-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d0ba92e140f0dc-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/adb45196eddef626-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d0ba92e140f0dc-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/adb45196eddef626-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d0ba92e140f0dc-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Instrument Sans Fallback;src:local("Arial");ascent-override:94.42%;descent-override:24.33%;line-gap-override:0.00%;size-adjust:102.74%}.__className_e986a4{font-family:Instrument Sans,Instrument Sans Fallback;font-style:normal}.__variable_e986a4{--font-sans-family:"Instrument Sans","Instrument Sans Fallback"}