@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;color-scheme:dark;--text:#f2f8f6;--muted:#b4cfcb;--ink:#143638;--line:#b1e6dc47;--veil:linear-gradient(90deg, #0514197a 0% 55%, #1c0b247a 100%);--nav:#222c33f0;--nav-pill:#0d1c22ad;--accent:#b4f1d9;--accent-ink:#183e3b;--panel:#061f27f0;--work-panel:#301b38eb;--about-panel:#80cdbb;--about-text:#163b3b;--tile:#26595b6e;--article-panel:#112931f0;--interactive-panel:#081d2461;--interactive-accent:#b4f1d9;--interactive-shadow:0 10px 28px #0313192b;--interactive-hover-shadow:0 18px 36px #03121a4a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}:root[data-theme=day]{color-scheme:light;--text:#173c3b;--muted:#4a706d;--ink:#173c3b;--line:#25646238;--veil:#e7f6f0a8;--nav:#323e41d4;--nav-pill:#192529bf;--accent:#b4f1d9;--accent-ink:#173e3a;--panel:#e8f6f1eb;--work-panel:#e7e1f1f0;--about-panel:#2c685b;--about-text:#e8fcf5;--tile:#c3e6db8a;--article-panel:#edf6f1eb;--interactive-panel:#dff1ea70;--interactive-accent:#245f56;--interactive-shadow:0 10px 28px #1336341f;--interactive-hover-shadow:0 18px 36px #13363438}:root[data-wallpaper=solid]{--solid-background:#1c1c1e;--solid-control:#404045;--text:#f2f2f7;--muted:#b3b3ba;--ink:#1d1d1f;--line:#404045;--nav:#2c2c2e;--nav-pill:#1c1c1e;--accent:#8ab4f8;--accent-ink:#1c1c1e;--panel:#2c2c2e;--work-panel:#2c2c2e;--article-panel:#2c2c2e;--about-panel:#2c2c2e;--about-text:#f2f2f7;--tile:#404045;--interactive-panel:#2c2c2e;--interactive-accent:#8ab4f8;--interactive-shadow:0 8px 24px #0000001f;--interactive-hover-shadow:0 12px 30px #0003;--solid-switch-track:#4c4c52;--solid-switch-thumb:#f2f2f7;--solid-switch-icon:#1d1d1f}:root[data-wallpaper=solid][data-theme=day]{--solid-background:#f5f5f7;--solid-control:#ececf0;--text:#1d1d1f;--muted:#6e6e73;--ink:#1d1d1f;--line:#dedee3;--nav:#fff;--nav-pill:#f5f5f7;--accent:#06c;--accent-ink:#fff;--panel:#fff;--work-panel:#fff;--article-panel:#fff;--about-panel:#fff;--about-text:#1d1d1f;--tile:#ececf0;--interactive-panel:#fff;--interactive-accent:#06c;--interactive-shadow:0 8px 24px #0000000b;--interactive-hover-shadow:0 12px 30px #00000017;--solid-switch-track:#d2d2d7;--solid-switch-thumb:#1d1d1f;--solid-switch-icon:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;min-width:280px;scroll-padding-top:var(--nav-clearance,132px);background:#0d373d}html:before{content:"";z-index:-2;background:url(/images/watercolor-background.jpg) 50%/cover no-repeat;position:fixed;inset:0}html:after{content:"";z-index:-1;opacity:1;pointer-events:none;background:linear-gradient(90deg,#0514197a 0% 55%,#1c0b247a 100%);transition:opacity .55s;position:fixed;inset:0}body{min-width:280px;min-height:100svh;color:var(--text);background:0 0;margin:0;line-height:1.58;transition:color .45s}body:before{content:"";z-index:-1;opacity:0;pointer-events:none;background:#e7f6f0a8;transition:opacity .55s;position:fixed;inset:0}:root[data-theme=day]:after{opacity:0}:root[data-theme=day] body:before{opacity:1}html[data-wallpaper=solid],html[data-wallpaper=solid]:before{background:var(--solid-background)}html[data-wallpaper=solid]:before{transition:background-color .45s}:root[data-wallpaper=solid]:after,:root[data-wallpaper=solid] body:before{opacity:0}a{color:inherit;text-underline-offset:.22em}button{font:inherit}a:focus-visible,button:focus-visible{outline-offset:4px;outline:3px solid #b4f1d9;box-shadow:0 0 0 6px #143f3d}:root[data-theme=day] a:focus-visible,:root[data-theme=day] button:focus-visible{outline-color:#fff;box-shadow:0 0 0 6px #185a51}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.28}h1{font-size:clamp(2.4rem,5vw,4.5rem)}h2{font-size:1.55rem}h3{font-size:1.3rem}.skip-link{z-index:30;color:#123738;background:var(--accent);border-radius:12px;padding:10px 16px;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:none}.site-shell{flex-direction:column;width:min(100%,1740px);min-height:100svh;margin:0 auto;padding:34px clamp(24px,3.4vw,58px) 0;display:flex}.site-header{z-index:20;background:var(--nav);color:#d2dfdc;border-radius:48px;justify-content:space-between;align-items:center;gap:18px;min-height:80px;padding:13px 72px 13px 40px;display:flex;position:sticky;top:0}.site-brand{min-width:0;color:inherit;letter-spacing:.03em;white-space:nowrap;align-items:center;gap:12px;font-size:clamp(1.1rem,1.6vw,1.45rem);font-weight:700;text-decoration:none;display:none}.site-brand img{object-fit:cover;border-radius:6px;flex:none;width:44px;height:44px}.site-appearance{align-items:center;gap:12px;margin-left:auto;display:flex}.wallpaper-picker{position:relative}.wallpaper-trigger{width:40px;height:44px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:14px;place-items:center;padding:8px;transition:background .2s,transform .35s cubic-bezier(.2,1.4,.35,1);display:grid}.wallpaper-trigger svg{width:23px;height:23px}.wallpaper-trigger:hover{background:var(--line);transform:translateY(-1px)}.wallpaper-menu{z-index:5;border:1px solid var(--line);background:var(--panel);width:236px;color:var(--text);backdrop-filter:blur(24px);opacity:0;visibility:hidden;pointer-events:none;transform-origin:100% 0;border-radius:20px;padding:8px;transition:opacity .18s,transform .4s cubic-bezier(.2,1.35,.35,1),visibility 0s linear .18s;position:absolute;top:calc(100% + 10px);right:0;transform:translateY(-9px)scale(.96);box-shadow:0 14px 40px #030f1933}.wallpaper-picker:after{content:"";width:100%;height:12px;position:absolute;top:100%;right:0}.wallpaper-picker[data-open=true] .wallpaper-menu{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;transform:translateY(0)scale(1)}.wallpaper-option{width:100%;min-height:56px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:13px;grid-template-columns:32px minmax(0,1fr) 18px;align-items:center;gap:12px;padding:10px 12px;display:grid}.wallpaper-option:hover{background:var(--line)}.wallpaper-option-label{font-size:.9rem;font-weight:500;line-height:1.25}.wallpaper-swatch{border:1px solid var(--line);background:linear-gradient(135deg,#f5f5f7 0 50%,#1c1c1e 50%);border-radius:10px;width:32px;height:32px}.wallpaper-check{width:18px;height:18px;color:var(--player-accent,var(--interactive-accent));opacity:0;justify-self:end}.wallpaper-option[aria-pressed=true] .wallpaper-check{opacity:1}.theme-switch{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:999px;flex:none;width:66px;height:44px;padding:0;position:relative}.switch-track{background:#677c79;border-radius:999px;height:20px;transition:background-color .5s;position:absolute;top:12px;left:3px;right:3px}.switch-thumb{color:#172225;background:#f6f7f3;border-radius:50%;place-items:center;width:32px;height:32px;transition:transform .55s cubic-bezier(.25,1,.4,1),background-color .4s,color .4s,box-shadow .25s;display:grid;position:absolute;top:6px;left:3px;transform:translate(28px);box-shadow:0 2px 7px #0000002b}.theme-switch:hover .switch-thumb{box-shadow:0 3px 11px #00000042}:root[data-theme=day] .switch-track{background:#b4beba}:root[data-theme=day] .switch-thumb{color:#fff;background:#182225;transform:translate(0)}.sun-symbol,.moon-symbol{grid-area:1/1;width:18px;height:18px;transition:opacity .35s,transform .55s cubic-bezier(.25,1,.4,1)}.sun-symbol{opacity:0;transform:rotate(-80deg)scale(.5)}.moon-symbol,:root[data-theme=day] .sun-symbol{opacity:1;transform:rotate(0)scale(1)}:root[data-theme=day] .moon-symbol{opacity:0;transform:rotate(80deg)scale(.5)}.site-header nav{min-width:0;margin-left:auto}.nav-list{justify-content:flex-end;align-items:center;gap:12px;margin:0;padding:0;list-style:none;display:flex}.nav-list a{background:var(--nav-pill);color:#d1e0dc;white-space:nowrap;border:1px solid #bbe2da33;border-radius:29px;justify-content:center;align-items:center;gap:10px;min-width:clamp(82px,6.5vw,114px);min-height:50px;padding:7px 15px;font-size:.95rem;font-weight:600;text-decoration:none;transition:color .25s,background .25s,transform .25s;display:inline-flex}.nav-list a:hover{color:#fff;background:#335558e0;transform:translateY(-2px)}.nav-list a[aria-current=page],.nav-list a[aria-current=location]{color:var(--accent-ink);background:var(--accent);border-color:var(--accent);box-shadow:0 5px 20px #8be2c42b}main{outline:none;flex:1;min-width:0;padding:64px 18px 90px}main[data-nav-fade]{--page-fade-mask:linear-gradient(to bottom, transparent var(--nav-fade-start,0px), #000 var(--nav-fade-end,0px));-webkit-mask-image:var(--page-fade-mask);mask-image:var(--page-fade-mask);clip-path:inset(var(--nav-fade-start,0px) calc((100% - 100vw) / 2) 0);-webkit-mask-position:top;mask-position:top;-webkit-mask-size:100vw 100%;mask-size:100vw 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-clip:no-clip;mask-clip:no-clip}main :is(a,button,input,[tabindex]){scroll-margin-top:var(--nav-clearance,132px)}.site-shell:has(.home-page){--home-header-space:114px}.site-shell:has(.home-page) main{padding:0}.home-page{width:100%}.hero{min-height:calc(100svh - var(--home-header-space));text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:clamp(12px,2svh,24px);padding:24px 18px 86px;display:flex;position:relative}.hero-portrait,.hero h1,.hero-description,.scroll-cue,.collection-page .page-heading h1,.collection-page .page-description{transition:opacity .14s linear,translate .14s ease-out}.hero-copy{width:min(100%,600px);min-width:0}.hero h1{letter-spacing:-.025em;margin:0 0 10px;font-size:clamp(2.8rem,4.2vw,4.5rem);font-weight:760;line-height:1.09}.hero-description{color:var(--muted);letter-spacing:.035em;margin-bottom:24px;font-size:clamp(1rem,1.18vw,1.25rem);line-height:1.55}.music-player{--player-accent:#88baff;--player-track:#ced7e238;backdrop-filter:blur(22px)saturate(120%);width:100%;max-width:560px;color:var(--text);text-align:left;background:#16212b9e;border:1px solid #e0e9f024;border-radius:23px;margin-inline:auto;padding:16px 18px 11px;transition:transform .3s,box-shadow .3s,background-color .45s,color .45s,opacity .14s linear,translate .14s ease-out;box-shadow:0 8px 30px #030f1921}.music-player[hidden]{display:none}:root[data-theme=day] .music-player{--player-accent:#286cc7;--player-track:#2a425229;background:#f8fbfca6;border-color:#ffffff8c;box-shadow:0 8px 30px #13303b17}.music-player:hover,.music-player:focus-within{transform:translateY(-2px);box-shadow:0 12px 34px #03121a2e}.music-player-main{grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.music-cover{aspect-ratio:1;color:#fff;background:linear-gradient(135deg,#ed7687 0%,#a47fbd 46%,#6398c9 100%);border:1px solid #ffffff38;border-radius:14px;place-items:center;width:56px;display:grid;box-shadow:inset 0 1px #ffffff2e}.music-cover .player-icon{width:34px;height:34px}.player-icon{flex:none;width:20px;height:20px;display:block}.music-player-info{gap:9px;min-width:0;display:grid}.music-track-copy{gap:2px;min-width:0;display:grid}.music-track-copy strong{letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:650;overflow:hidden}.music-track-copy span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.music-progress{grid-template-columns:auto minmax(30px,1fr) auto;align-items:center;gap:9px;min-width:0;display:grid}.music-time{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.7rem}.music-range{appearance:none;background:linear-gradient(to right,var(--player-accent) var(--range-progress,0%),var(--player-track) var(--range-progress,0%)) center / 100% 3px no-repeat;cursor:pointer;touch-action:none;border:0;border-radius:999px;width:100%;height:24px;margin:0}.music-range::-webkit-slider-thumb{appearance:none;background:var(--player-accent);border:0;border-radius:50%;width:9px;height:9px}.music-range::-moz-range-thumb{background:var(--player-accent);border:0;border-radius:50%;width:9px;height:9px}.music-range:focus-visible{outline:2px solid var(--player-accent);outline-offset:5px}.music-controls{align-items:center;gap:4px;display:flex}.music-control{width:32px;height:40px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:12px;place-items:center;transition:color .2s,background .2s,transform .2s;display:grid}.music-control:hover:not(:disabled){color:var(--text);background:var(--line);transform:translateY(-1px)}.music-control:focus-visible,.music-mode:focus-visible{outline:2px solid var(--player-accent);outline-offset:3px}.music-control:disabled,.music-mode:disabled,.music-range:disabled{cursor:not-allowed;opacity:.55}.music-play-toggle{width:44px;height:44px;color:var(--text);background:#d7e2ef1a;border-radius:50%}:root[data-theme=day] .music-play-toggle{background:#223a4a12}.music-player .icon-pause,.music-player .icon-muted,.music-player[data-playing=true] .icon-play,.music-player[data-muted=true] .icon-volume{display:none}.music-player[data-playing=true] .icon-pause,.music-player[data-muted=true] .icon-muted{display:block}.music-player-footer{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:14px;min-height:28px;margin-top:8px;display:flex}.music-volume{color:var(--muted);align-items:center;gap:8px;margin-right:auto;display:flex}.music-volume .player-icon{width:16px;height:16px}.music-volume input{width:98px}.music-mode{width:32px;min-width:32px;height:28px;color:var(--player-accent);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;padding:3px;transition:color .2s,background .2s;display:grid}.music-mode [hidden]{display:none}.music-mode:hover:not(:disabled){background:var(--player-track);color:var(--text)}.music-status{overflow-wrap:anywhere;max-width:100%;color:var(--muted);text-align:right;flex-basis:100%;font-size:.7rem}.music-status:empty,.music-audio{display:none}.music-player.music-player--dock{z-index:50;backdrop-filter:none;width:64px;max-width:none;height:64px;box-shadow:none;touch-action:none;cursor:grab;user-select:none;background:0 0;border:0;border-radius:50%;margin:0;padding:0;transition:none;position:fixed;bottom:18px;left:18px;transform:none}:root[data-theme=day] .music-player.music-player--dock{box-shadow:none;background:0 0;border:0}.music-player--dock .music-expanded{z-index:1;left:var(--dock-panel-x,0px);top:var(--dock-panel-y,-160px);width:var(--dock-panel-width,min(480px,calc(100vw - 32px)));max-height:var(--dock-max-height,calc(100svh - 32px));overscroll-behavior:contain;touch-action:none;backdrop-filter:blur(28px)saturate(130%);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(var(--dock-enter-y,22px)) scale(.8);transform-origin:var(--dock-origin-x,32px) var(--dock-origin-y,calc(100% + 44px));background:#16212be0;border:1px solid #e0e9f02e;border-radius:23px;padding:15px 17px 11px;transition:opacity .2s,transform .5s cubic-bezier(.2,1.4,.35,1),visibility 0s linear .2s;position:absolute;overflow:auto;box-shadow:0 16px 44px #030f193d}:root[data-theme=day] .music-player--dock .music-expanded{background:#f8fbfce6;border-color:#ffffffd9;box-shadow:0 16px 44px #13303b29}.music-player--dock[data-collapsed=false] .music-expanded{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;transform:translateY(0)scale(1)}.music-player--dock[data-collapsed=false]:before{content:"";width:64px;height:12px;position:absolute;top:-12px;left:0}.music-player--dock[data-panel-side=below][data-collapsed=false]:before{top:64px}.music-record{z-index:2;cursor:grab;touch-action:none;background:#1b2029;border:1px solid #ffffff38;border-radius:50%;place-items:center;width:64px;height:64px;padding:0;transition:transform .48s cubic-bezier(.2,1.6,.35,1),box-shadow .3s;display:grid;position:absolute;inset:0;box-shadow:0 6px 22px #080f1947}.music-player--dock:hover .music-record{transform:scale(1.045);box-shadow:0 9px 28px #080f1957}.music-player--dock[data-dragging=true] .music-record{transform:scale(.96)}.music-player--dock[data-dragging=true],.music-player--dock[data-dragging=true] *{cursor:grabbing}.music-record-platter{background:repeating-radial-gradient(circle,#202630 0 2px,#353b45 2.6px,#202630 3.6px);border:1px solid #dae2f026;border-radius:50%;place-items:center;animation:14s linear infinite paused music-record-turn;display:grid;position:absolute;inset:3px}.music-record-platter:after{content:"";border-radius:inherit;background:conic-gradient(from 25deg,transparent 0 17%,#ffffff1a 21%,transparent 25% 66%,#ffffff1a 71%,transparent 76%);pointer-events:none;position:absolute;inset:0}.music-record-label{color:#fff;background:linear-gradient(135deg,#ed7687,#a47fbd 46%,#6398c9);border:1px solid #ffffff40;border-radius:50%;place-items:center;width:27px;height:27px;display:grid}.music-record-label .player-icon{width:18px;height:18px}.music-record-indicator{z-index:3;background:#7c8798;border:2px solid #1b2029;border-radius:50%;width:10px;height:10px;position:absolute;bottom:2px;right:2px}.music-player--dock[data-playing=true] .music-record-platter{animation-play-state:running}.music-player[data-playing=true] .music-record-indicator{background:#95d7bd}.music-player[data-error=true] .music-record-indicator{background:#f28b88}.music-record:focus-visible{outline:2px solid var(--player-accent);outline-offset:3px}@keyframes music-record-turn{to{transform:rotate(360deg)}}.music-player--dock .music-player-main{grid-template-columns:42px minmax(0,1fr) auto;gap:12px}.music-player--dock .music-cover{border-radius:11px;width:42px}.music-player--dock .music-cover .player-icon{width:27px;height:27px}.music-player--dock .music-track-copy strong{font-size:.9rem}.music-player--dock .music-player-footer{margin-top:5px}.hero-portrait{justify-content:center;display:flex}.portrait-ring{aspect-ratio:1;background:#ecf9f21f;border:1px solid #acf4dcb8;border-radius:50%;place-items:center;width:clamp(128px,20svh,220px);padding:clamp(8px,1.2svh,18px);display:grid}.portrait-ring img{aspect-ratio:1;object-fit:cover;object-position:center 35%;background:#fff;border-radius:50%;width:100%}.scroll-cue{color:var(--muted);white-space:nowrap;font-size:.78rem;text-decoration:none;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.scroll-cue-content{flex-direction:column;align-items:center;gap:2px;transition:transform .55s cubic-bezier(.22,1.65,.36,1),color .2s;display:flex}.scroll-cue-content span{font-size:1.6rem;line-height:1}.scroll-cue:hover .scroll-cue-content,.scroll-cue:focus-visible .scroll-cue-content{color:var(--text);transform:translateY(-14px)}.selected-section{width:80vw;min-height:100svh;margin-left:calc(50% - 40vw);padding:72px 0 100px}.section-heading{justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:30px;display:flex}.section-heading h2{letter-spacing:.08em;margin:0;font-size:clamp(1.5rem,2.2vw,2.2rem)}.section-heading>span{color:var(--muted);letter-spacing:.08em;font-size:.9rem}.updates-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"article video video""work project project";grid-auto-rows:minmax(240px,1fr);gap:22px;display:grid}.update-tile{background:var(--interactive-panel);min-width:0;min-height:240px;box-shadow:var(--interactive-shadow);color:var(--text);border:0;border-radius:24px;flex-direction:column;align-items:flex-start;padding:clamp(24px,2.3vw,38px);text-decoration:none;transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s cubic-bezier(.22,1,.36,1);display:flex}.update-tile:hover,.update-tile:focus-visible{box-shadow:var(--interactive-hover-shadow);transform:translateY(-3px)}.update-article{grid-area:article}.update-video{grid-area:video}.update-work{grid-area:work}.update-project{grid-area:project}.tile-category{color:var(--interactive-accent);letter-spacing:.15em;margin-bottom:22px;font-size:.82rem;font-weight:700}.update-tile h3{overflow-wrap:anywhere;max-width:30ch;margin:0 0 14px;font-size:clamp(1.3rem,1.65vw,1.85rem)}.update-tile p{max-width:42ch;color:var(--muted);margin:0 0 22px;line-height:1.65}.tile-link{margin-top:auto;font-size:.9rem;font-weight:650}.tile-link span{margin-left:5px;transition:transform .32s cubic-bezier(.22,1,.36,1);display:inline-block}.update-tile:hover .tile-link span,.update-tile:focus-visible .tile-link span{transform:translate(3px,-3px)}.home-about{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:80vw;min-height:60svh;margin-left:calc(50% - 40vw);padding:100px 0 150px;display:flex}.home-about h2{letter-spacing:.22em;margin-bottom:28px;font-size:.95rem}.home-about p{margin-bottom:30px;font-size:clamp(1.15rem,1.55vw,1.45rem);line-height:1.9}.about-button{background:var(--interactive-panel);min-width:148px;min-height:48px;box-shadow:var(--interactive-shadow);color:var(--text);text-align:center;border-radius:999px;justify-content:center;align-items:center;padding:9px 22px;font-size:1rem;font-weight:700;text-decoration:none;transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s cubic-bezier(.22,1,.36,1);display:inline-flex}.about-button:hover,.about-button:focus-visible{box-shadow:var(--interactive-hover-shadow);transform:translateY(-3px)}main:has(.page-heading),main:has(.not-found){display:block}.collection-page{width:80vw;margin-left:calc(50% - 40vw)}.page-heading{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:clamp(230px,32svh,380px);margin:0 auto;display:flex}.collection-page .page-heading{transform:translateY(calc(0px - clamp(64px,9svh,90px)))}.page-heading h1,.not-found h1{letter-spacing:.07em;margin:0;font-size:clamp(3.2rem,5.5vw,5.6rem)}.page-description{max-width:46rem;color:var(--accent);letter-spacing:.1em;margin:0 auto;font-size:clamp(1.05rem,1.4vw,1.3rem)}:root[data-theme=day] .page-description{color:#245f56}.collection-layout{grid-template-columns:minmax(0,2fr) minmax(250px,.85fr);align-items:start;gap:clamp(36px,4vw,76px);min-height:48svh;padding-bottom:120px;display:grid}.collection-main{min-width:0;scroll-margin-top:120px}.entry-list,.content-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:22px;width:100%;margin:0;padding:0;list-style:none;display:grid}.entry-row,.content-tile{background:var(--interactive-panel);min-width:0;min-height:230px;box-shadow:var(--interactive-shadow);border:0;border-radius:22px;flex-direction:column;justify-content:space-between;gap:24px;padding:28px;scroll-margin-top:120px;transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s cubic-bezier(.22,1,.36,1);display:flex;position:relative}.entry-row:has(a:hover),.entry-row:focus-within,.content-tile:hover,.content-tile:focus-within{box-shadow:var(--interactive-hover-shadow);transform:translateY(-3px)}.project-card{width:auto;min-height:230px}.entry-information{min-width:0}.entry-title{overflow-wrap:anywhere;font-size:1.16rem;font-weight:650;text-decoration:none}a.entry-title:after{content:"";position:absolute;inset:0}.entry-summary{color:var(--muted);overflow-wrap:anywhere;margin:7px 0 0;font-size:.91rem}.entry-meta,.empty-state,.muted{color:var(--muted);font-size:.88rem}.entry-meta{flex-shrink:0}.empty-state{grid-column:1/-1;margin:0;padding:20px 0}.section-directory{background:var(--interactive-panel);box-shadow:var(--interactive-shadow);border-radius:22px;padding:28px;position:sticky;top:124px}.section-directory h2{letter-spacing:.18em;margin:0 0 18px;font-size:.9rem}.section-directory ol{margin:0;padding:0;list-style:none}.section-directory li+li{margin-top:8px}.section-directory a{color:var(--text);align-items:baseline;gap:12px;padding:8px 0;text-decoration:none;transition:transform .32s cubic-bezier(.22,1,.36,1),color .32s;display:flex}.section-directory a:hover,.section-directory a:focus-visible{color:var(--interactive-accent);transform:translate(3px)}.section-directory a span:first-child{color:var(--muted);font-size:.75rem}.section-directory a span:last-child{margin-left:auto}.video-entry{min-height:230px;color:var(--text);text-decoration:none}.video-page .content-grid{grid-auto-rows:1fr;align-items:stretch}.video-entry-copy{padding-right:28px}.video-entry-copy .tile-category{margin-bottom:14px;display:block}.video-entry-copy h2{overflow-wrap:anywhere;margin:0 0 12px;font-size:clamp(1.2rem,1.5vw,1.5rem)}.video-entry-copy p{color:var(--muted);margin-bottom:0}.video-entry-arrow{width:40px;height:40px;color:var(--interactive-accent);align-self:flex-end;transition:transform .32s cubic-bezier(.22,1,.36,1)}.video-entry:hover .video-entry-arrow,.video-entry:focus-visible .video-entry-arrow{transform:translate(3px,-3px)}.detail,.not-found{background:var(--panel);border:0;border-radius:28px;max-width:960px;padding:34px clamp(22px,4vw,60px) 60px;box-shadow:0 17px 40px #03131933}.detail{max-width:880px;margin-inline:auto}.detail .page-heading{min-height:0;margin-bottom:30px}.detail h1{overflow-wrap:anywhere}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.about-page{place-items:center;width:80vw;min-height:calc(100svh - 240px);margin-left:calc(50% - 40vw);padding:70px 0 120px;display:grid}.about-page-copy{max-width:36rem;color:var(--text);letter-spacing:.05em;text-align:center;font-size:clamp(1.2rem,1.8vw,1.55rem)}.about-page-copy p{margin:0}.back-link{color:var(--muted);margin-bottom:30px;font-size:.86rem;text-decoration:none;display:inline-block}.cover-image{border-radius:18px;width:100%;margin-bottom:32px}.prose{overflow-wrap:anywhere}.prose p,.prose ul,.prose ol,.prose blockquote{margin-bottom:1.4em}.prose h2,.prose h3{margin-top:2em}.prose pre{border:1px solid var(--line);max-width:100%;padding:16px;font-size:.875rem;overflow-x:auto}.prose code{font-family:ui-monospace,Consolas,monospace;font-size:.9em}.prose blockquote,.notice{border-left:2px solid var(--line);color:var(--muted);margin-left:0;padding-left:20px}.prose table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line);padding:8px 14px}.project-actions{flex-wrap:wrap;align-items:center;gap:24px;margin-top:32px;display:flex}.button-link{border:1px solid var(--line);border-radius:12px;padding:10px 19px;text-decoration:none;display:inline-block}.button-link:hover{background:var(--tile)}.not-found{padding-top:45px}.not-found .button-link{margin-top:26px}@media (width<=900px){.updates-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"article video""work project"}.collection-layout{grid-template-columns:minmax(0,1fr) 220px;gap:24px}.entry-list,.content-grid{grid-template-columns:1fr}}@media (width<=1100px){.site-shell{padding:24px 28px 0}.site-shell:has(.home-page){--home-header-space:104px}.site-header{padding:12px 20px}.nav-list{gap:5px}.nav-list a{min-width:70px;padding:7px 10px}main{padding:50px 4px 70px}.updates-grid{gap:16px}.update-tile{padding:24px}}@media (width<=760px){.site-shell{padding:16px 16px 0}.site-shell:has(.home-page){--home-header-space:184px}.site-header{border-radius:26px;flex-wrap:wrap;align-items:flex-start;gap:12px;padding:12px}.site-header nav{width:100%;margin:0}.nav-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.nav-list a{gap:5px;width:100%;min-width:0;min-height:40px;padding:6px;font-size:.84rem}main{padding:32px 0 60px}.hero{padding-inline:0;padding-bottom:72px}.hero h1{font-size:clamp(2.8rem,12vw,4rem)}.hero-description{margin-bottom:20px;font-size:.96rem}.music-player{border-radius:20px;padding:12px}.music-player-main{grid-template-columns:48px minmax(0,1fr) auto;gap:10px}.music-cover{border-radius:13px;width:48px;font-size:1.55rem}.music-player-info{gap:9px}.music-track-copy strong{font-size:.9rem}.music-track-copy span{font-size:.71rem}.music-progress{grid-template-columns:auto minmax(22px,1fr) auto;gap:6px}.music-time{font-size:.62rem}.music-controls{gap:0}.music-control{width:28px;height:36px;font-size:.86rem}.music-play-toggle{width:36px;height:36px;font-size:.78rem}.music-player-footer{justify-content:space-between;gap:10px;margin-top:9px}.music-volume{gap:6px;font-size:.68rem}.music-volume input{width:clamp(70px,25vw,98px)}.music-mode{min-width:32px;padding:3px}.selected-section,.home-about,.collection-page,.about-page{width:100%;margin-left:0}.selected-section{padding:48px 0 70px}.section-heading{flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:18px}.updates-grid{grid-template-columns:1fr;grid-template-areas:"article""video""work""project";gap:14px}.update-tile{min-height:210px}.home-about{min-height:55svh;padding:80px 0 110px}.page-heading{min-height:clamp(190px,26svh,280px)}.collection-page .page-heading{transform:translateY(-18px)}.page-heading h1{font-size:clamp(2.6rem,11vw,4rem)}.collection-layout{grid-template-columns:1fr;gap:40px;padding-bottom:90px}.entry-list,.content-grid{grid-template-columns:1fr}.section-directory{position:static}.entry-row{gap:8px}.about-page{min-height:calc(100svh - 250px)}.detail,.not-found{padding:26px 21px 42px}}@media (width<=350px){.site-shell{padding-left:10px;padding-right:10px}.nav-list a{font-size:.77rem}.music-player{padding:10px}.music-player-main{grid-template-columns:40px minmax(0,1fr) auto;gap:7px}.music-cover{width:40px;font-size:1.3rem}.music-control{width:24px}.music-play-toggle{width:32px;height:32px}.music-player-footer{flex-wrap:wrap;gap:6px}.music-volume input{width:66px}.music-mode{min-width:32px}.music-status:not(:empty){flex-basis:100%}}@media (width<=760px) and (height<=650px){.hero{gap:8px;padding-top:8px;padding-bottom:50px}.portrait-ring{width:84px;padding:6px}.hero h1{margin-bottom:4px;font-size:2.4rem}.hero-description{margin-bottom:10px;font-size:.9rem}.music-player{padding-block:9px}.scroll-cue{font-size:.7rem;bottom:8px}.scroll-cue-content span{font-size:1.3rem}}@media (width<=350px) and (height>=651px) and (height<=700px){.portrait-ring{width:112px}.hero-description{margin-bottom:14px}}@media (width<=760px) and (height<=550px){.site-shell:has(.home-page){--home-header-space:128px}.site-header{grid-template-columns:110px minmax(0,1fr);align-items:center;gap:8px;display:grid}.site-appearance{gap:4px}.wallpaper-menu{transform-origin:0 0;left:0;right:auto}.site-header nav{grid-column:2;width:100%}.nav-list a{font-size:.72rem}.hero{gap:4px;padding-top:4px;padding-bottom:36px}.portrait-ring{width:64px}.hero h1{font-size:2rem}.hero-description{margin-bottom:6px;font-size:.82rem;line-height:1.3}.music-player{padding:8px}.music-player-main{grid-template-columns:minmax(0,1fr) auto;gap:8px}.music-cover{display:none}.music-player-info{gap:6px}.music-player-footer{margin-top:6px}.scroll-cue{bottom:4px}}@media (width>=761px) and (height<=600px){.hero{gap:8px;padding-top:8px;padding-bottom:48px}.portrait-ring{width:80px;padding:6px}.hero h1{margin-bottom:4px;font-size:2.2rem}.hero-description{margin-bottom:8px;font-size:.9rem}.music-player{max-width:520px;margin-inline:auto}.scroll-cue{bottom:6px}}@media (width>=761px){.site-shell{--desktop-header-top:23px;padding-top:var(--desktop-header-top)}.site-shell:has(.home-page){--home-header-space:calc(var(--desktop-header-top) + 64px)}.site-header{top:var(--desktop-header-top);min-height:64px;color:var(--text);background:0 0;border-radius:0;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:0;padding:0;display:grid}.site-brand{grid-area:1/1;width:fit-content;display:inline-flex}.site-header nav{grid-area:1/2;margin:0}.nav-list{justify-content:center;gap:clamp(8px,1.8vw,28px)}.nav-list a{width:auto;min-width:52px;min-height:44px;color:var(--text);letter-spacing:.04em;opacity:.8;background:0 0;border:0;border-radius:0;padding:0 8px;font-size:1.12rem;font-weight:700}.nav-list a:hover{color:var(--text);opacity:1;background:0 0}.nav-list a[aria-current=page],.nav-list a[aria-current=location]{color:var(--accent);box-shadow:none;opacity:1;background:0 0;border:0}:root[data-theme=day] .nav-list a[aria-current=page],:root[data-theme=day] .nav-list a[aria-current=location]{color:#245f56}.site-appearance{grid-area:1/3;justify-self:end;margin:0}}@media (width>=761px) and (width<=1100px){.site-shell{--desktop-header-top:16px}}:root[data-wallpaper=solid] .site-header{color:var(--text)}:root[data-wallpaper=solid] .nav-list a{color:var(--muted);border-color:var(--line)}:root[data-wallpaper=solid] .nav-list a:hover{color:var(--text);background:0 0}:root[data-wallpaper=solid] .nav-list a[aria-current]{color:var(--accent-ink);border-color:var(--accent);box-shadow:none}:root[data-wallpaper=solid] .page-description{color:var(--accent)}:root[data-wallpaper=solid] .portrait-ring{border-color:var(--line);background:var(--panel)}:root[data-wallpaper=solid] .switch-track{background:var(--solid-switch-track)}:root[data-wallpaper=solid] .switch-thumb{background:var(--solid-switch-thumb);color:var(--solid-switch-icon)}:root[data-wallpaper=solid] .wallpaper-menu{backdrop-filter:none;box-shadow:var(--interactive-hover-shadow)}:root[data-wallpaper=solid] .music-player{--player-accent:var(--accent);--player-track:var(--line)}:root[data-wallpaper=solid] .music-player:not(.music-player--dock){background:var(--panel);border-color:var(--line);backdrop-filter:none;box-shadow:var(--interactive-shadow)}:root[data-wallpaper=solid] .music-player--dock .music-expanded{background:var(--panel);border-color:var(--line);backdrop-filter:none;box-shadow:var(--interactive-hover-shadow)}:root[data-wallpaper=solid] .music-play-toggle,:root[data-wallpaper=solid] .music-control:hover:not(:disabled){background:var(--solid-control)}:root[data-wallpaper=solid] :is(.detail,.not-found){box-shadow:var(--interactive-shadow)}:root[data-wallpaper=solid] .skip-link{color:var(--accent-ink)}:root[data-wallpaper=solid] :is(a,button):focus-visible{outline-color:var(--accent);box-shadow:0 0 0 5px var(--panel)}@media (width<=760px){:root[data-wallpaper=solid] .nav-list a:hover{background:var(--solid-control)}:root[data-wallpaper=solid] .nav-list a[aria-current]{background:var(--accent)}}@media (width>=761px){:root[data-wallpaper=solid] .nav-list a[aria-current]{color:var(--accent)}}@media (prefers-reduced-motion:reduce){.music-record-platter{animation:none!important}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.scroll-cue:hover .scroll-cue-content,.scroll-cue:focus-visible .scroll-cue-content{transform:none}}
