@font-face{font-family:Newsreader Local;src:local("Iowan Old Style"),local("Baskerville")}:root{color-scheme:light;--paper: oklch(94.5% .012 78);--paper-deep: oklch(90.5% .018 78);--ink: oklch(24% .018 72);--muted: oklch(50% .018 72);--line: color-mix(in oklch, var(--ink) 15%, transparent);--moss: oklch(45% .08 135);--serif: "Newsreader Local", "Songti SC", "STSong", "Noto Serif CJK SC", "Iowan Old Style", Baskerville, Georgia, serif;--sans: "Avenir Next", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Avenir, "Helvetica Neue", sans-serif;font-family:var(--sans);font-synthesis:none;background:var(--paper);color:var(--ink)}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh}button,a{color:inherit}button{font:inherit}a{text-decoration:none}::selection{color:var(--paper);background:var(--moss)}.shell{min-height:100vh;background:var(--paper)}.site-head{position:relative;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:1.15rem clamp(1.1rem,3vw,3.5rem);border-bottom:1px solid var(--line);font-size:.7rem;letter-spacing:.09em;text-transform:uppercase}.site-head__mark{justify-self:start;font-weight:650}.site-head__count{justify-self:center;color:var(--muted)}.site-head__note{justify-self:end;color:var(--muted)}.intro{position:relative;min-height:min(58vh,620px);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(17rem,.7fr);gap:clamp(2rem,6vw,7rem);align-items:end;padding:clamp(3rem,7vw,6rem) clamp(1.1rem,5vw,6rem) clamp(3rem,6vw,5rem);overflow:hidden}.intro__kicker{margin:0 0 1.1rem;font-size:.65rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.intro h1{max-width:10ch;margin:0;font:400 clamp(3.1rem,6vw,6.5rem) / .92 var(--serif);letter-spacing:-.04em}.intro__aside{position:relative;z-index:1;padding-bottom:.4rem}.intro__aside p{max-width:31rem;margin:0;font:400 clamp(1rem,1.35vw,1.25rem) / 1.6 var(--serif)}.intro__legend{display:grid;grid-template-columns:auto 1fr;gap:.45rem 1rem;margin-top:2rem;font-size:.69rem;line-height:1.4;color:var(--muted)}.intro__legend dt{color:var(--ink)}.intro__legend dd{margin:0}.catalogue{padding:0 clamp(1.1rem,5vw,6rem) clamp(6rem,10vw,10rem)}.catalogue__head{display:flex;justify-content:space-between;gap:2rem;align-items:end;padding-bottom:1rem;border-bottom:1px solid var(--line)}.catalogue__head h2{margin:0;font:400 clamp(1.6rem,3vw,2.7rem) / 1 var(--serif)}.catalogue__head span{font-size:.68rem;color:var(--muted)}.entry{position:relative;display:grid;grid-template-columns:3.5rem minmax(12rem,.95fr) minmax(16rem,.75fr);gap:clamp(1rem,2.2vw,2.5rem);align-items:center;padding:clamp(1.4rem,2.5vw,2.4rem) 0;border-bottom:1px solid var(--line);cursor:pointer;container-type:inline-size}.entry__num{align-self:start;padding-top:.45rem;font-size:.65rem;color:var(--muted)}.entry h3{margin:0 0 .55rem;font:400 clamp(1.8rem,3.2vw,3.7rem) / 1 var(--serif);letter-spacing:-.03em;transition:color .16s ease}.entry:hover h3,.entry:focus-visible h3{color:var(--moss)}.entry__family{margin:0;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.entry__visual{position:relative;aspect-ratio:16 / 10;overflow:hidden;border:1px solid var(--line);border-radius:2px;background:var(--paper-deep)}.entry__visual img{display:block;width:100%;height:100%;object-fit:cover}.about-strip{display:grid;grid-template-columns:minmax(8rem,.55fr) minmax(18rem,2fr);gap:clamp(2rem,7vw,8rem);padding:clamp(3rem,6vw,5rem) clamp(1.1rem,5vw,6rem);background:color-mix(in oklch,var(--paper) 92%,var(--moss))}.about-strip h2{margin:0;font:400 clamp(1.35rem,2vw,1.8rem) / 1.15 var(--serif)}.about-strip p{max-width:48rem;margin:0;font:400 clamp(1.15rem,2vw,1.75rem) / 1.4 var(--serif);letter-spacing:-.01em}.study{min-height:100vh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;background:var(--paper)}.study--series{grid-template-rows:auto auto minmax(0,1fr) auto}.study--garden{--paper: #f2f0ee}.study__bar{position:relative;z-index:15;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:.9rem clamp(.9rem,2.5vw,2rem);font-size:.66rem;letter-spacing:.09em;text-transform:uppercase;border-bottom:1px solid var(--line)}.study__back{justify-self:start}.study__name{justify-self:center}.study__actions{justify-self:end;display:flex;gap:.55rem}.study-tabs{position:relative;z-index:14;display:flex;align-items:center;gap:clamp(.85rem,2vw,1.5rem);min-width:0;padding:.55rem clamp(.9rem,2.5vw,2rem);overflow-x:auto;border-bottom:1px solid var(--line);background:var(--paper);color:var(--muted);font-size:.64rem;white-space:nowrap}.study-tabs__label{margin-right:.35rem;color:var(--ink)}.study-tabs a{padding:.12rem 0;border-bottom:1px solid transparent}.study-tabs a:hover,.study-tabs a:focus-visible,.study-tabs a[aria-current=page]{color:var(--ink);border-bottom-color:currentColor}.text-button{border:0;padding:.35rem .1rem;background:transparent;cursor:pointer;color:var(--muted);transition:color .18s ease}.text-button:hover,.text-button:focus-visible{color:var(--ink)}.study__stage{position:relative;min-height:0;height:calc(100vh - 7.5rem);overflow:hidden}.study--series:not(.study--daylight) .study__stage{height:calc(100vh - 9.4rem)}.study__stage canvas{display:block;width:100%;height:100%;touch-action:none}.study__stage--garden,.study__stage--dappled{display:grid;place-items:center}.dappled-runtime{position:relative;width:min(500px,calc(100vw - 3rem));aspect-ratio:500 / 307;overflow:hidden;background:#fff}.dappled-source-frame{display:grid;gap:.85rem}.dappled-wind{display:flex;align-items:center;gap:.7rem;font-size:.68rem}.duck-source-frame{position:relative;width:min(70vw,900px);height:min(65vh,600px);min-height:360px;align-self:center;overflow:visible}.study__stage:has(.duck-source-frame){display:grid;place-items:center}.dappled-wind button{border:0;padding:.2rem .3rem;background:transparent;color:var(--muted);cursor:pointer;font:inherit}.dappled-wind button[aria-pressed=true]{border:1px solid currentColor;border-radius:50%;color:var(--ink)}.dappled-runtime canvas{position:absolute;inset:0;width:100%;height:100%}.garden-version-tabs{position:absolute;top:1.1rem;left:50%;z-index:6;display:flex;align-items:center;gap:.25rem;transform:translate(-50%);padding:.25rem .4rem;border:1px solid var(--line);border-radius:2px;background:var(--paper);font-size:.62rem;letter-spacing:.06em}.garden-version-tabs span{padding:0 .45rem;color:var(--muted)}.garden-version-tabs button{border:0;border-bottom:1px solid transparent;padding:.32rem .55rem;background:transparent;color:var(--muted);cursor:pointer}.garden-version-tabs button[aria-selected=true]{border-bottom-color:currentColor;color:var(--ink)}.garden-runtime{position:relative;width:min(535px,calc(100vw - 3.5rem));aspect-ratio:535 / 399;overflow:hidden;isolation:isolate}.garden-runtime canvas,.garden-runtime__grass,.garden-runtime__cover{position:absolute;inset:0;width:100%;height:100%}.garden-runtime canvas{z-index:1;cursor:pointer;filter:blur(4px) brightness(.96) saturate(1.02);transform:scale(1.02)}.garden-runtime canvas[data-version=source]{filter:none;transform:none}.garden-runtime__grass,.garden-runtime__cover{z-index:2;pointer-events:none;background-position:50%;background-repeat:no-repeat;background-size:cover}.garden-runtime__grass{background-image:url(/reference-assets/garden/textures/grass.webp);mix-blend-mode:screen}.garden-runtime__cover{z-index:3;background-image:url(/reference-assets/garden/textures/cover.png);mix-blend-mode:darken;outline:30px solid var(--paper)}.dom-stage{position:absolute;inset:0;overflow:hidden}.light-wall{--wall: #f0f1ee;--shadow: rgba(75, 83, 77, .31);position:absolute;inset:0;overflow:hidden;isolation:isolate;background:linear-gradient(85deg,rgba(255,255,255,.42),transparent 54%),var(--wall);transition:background 1.4s cubic-bezier(.22,.76,.2,1)}.light-wall.is-shifted{--wall: #242a31;--shadow: rgba(8, 17, 21, .66)}.sunset-blinds.is-shifted{--wall: #ffbd8d;--shadow: rgba(103, 59, 46, .32)}.light-toggle{position:absolute;top:1.25rem;left:1.25rem;z-index:8;display:flex;align-items:center;gap:.55rem;border:0;padding:.35rem;background:transparent;color:color-mix(in oklch,var(--ink) 58%,transparent);cursor:pointer}.light-toggle span{display:grid;width:1.65rem;height:1.65rem;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:.95rem}.light-toggle em{font-style:normal;font-size:.65rem;letter-spacing:.06em}.light-wall.is-shifted .light-toggle{color:#fffaeeb8}.light-rig{position:absolute;z-index:2;width:150vw;height:175vh;top:-78vh;right:-32vw;transform:rotate(-20deg);transform-origin:72% 52%;transition:transform 1.45s cubic-bezier(.22,.76,.2,1)}.sunset-blinds.is-shifted .light-rig{transform:translate(10vw) rotate(-16deg)}.light-shutters{position:absolute;inset:0;display:flex;flex-direction:column;gap:8px;filter:blur(var(--blur));transform:translate(12vw) perspective(50vw) rotateY(4deg);transform-origin:right center}.light-shutters i{display:block;flex:0 0 56px;width:100%;background:linear-gradient(200deg,rgba(39,44,41,.36),var(--shadow) 46%,rgba(93,99,92,.18));box-shadow:0 1px 8px #3a3e3a14;transition:flex-basis 1.35s cubic-bezier(.22,.76,.2,1)}.sunset-blinds.is-shifted .light-shutters{gap:18px}.sunset-blinds.is-shifted .light-shutters i{flex-basis:20px}.light-shutters--0{-webkit-mask-image:linear-gradient(90deg,#000 0 10%,transparent 22%);mask-image:linear-gradient(90deg,#000 0 10%,transparent 22%)}.light-shutters--1{-webkit-mask-image:linear-gradient(90deg,transparent 8%,#000 17% 26%,transparent 39%);mask-image:linear-gradient(90deg,transparent 8%,#000 17% 26%,transparent 39%)}.light-shutters--2{-webkit-mask-image:linear-gradient(90deg,transparent 24%,#000 34% 43%,transparent 56%);mask-image:linear-gradient(90deg,transparent 24%,#000 34% 43%,transparent 56%)}.light-shutters--3{-webkit-mask-image:linear-gradient(90deg,transparent 41%,#000 51% 60%,transparent 73%);mask-image:linear-gradient(90deg,transparent 41%,#000 51% 60%,transparent 73%)}.light-shutters--4{-webkit-mask-image:linear-gradient(90deg,transparent 58%,#000 68% 77%,transparent 90%);mask-image:linear-gradient(90deg,transparent 58%,#000 68% 77%,transparent 90%)}.light-shutters--5{-webkit-mask-image:linear-gradient(90deg,transparent 74%,#000 88% 100%);mask-image:linear-gradient(90deg,transparent 74%,#000 88% 100%)}.light-mullion{position:absolute;z-index:3;top:-15%;right:30vw;width:24px;height:140%;background:var(--shadow);filter:blur(8px)}.light-tree{position:absolute;z-index:3;width:min(92vw,78rem);height:min(92vh,54rem);right:-14vw;top:-9vh;overflow:visible;fill:#25332547;stroke:#2533254d;stroke-width:10;stroke-linecap:round;transform-origin:80% 20%;animation:light-tree-drift 9s ease-in-out infinite alternate;mix-blend-mode:multiply}.window-sunlight .light-tree{width:min(112vw,92rem);right:-23vw;top:20vh;fill:#5c4e322e;stroke:#5c4e322b;filter:blur(16px);opacity:.72}.window-sunlight{--wall: #f4ead9;--shadow: rgba(105, 88, 58, .18)}.window-sunlight .light-rig{top:-112vh;right:-48vw;transform:rotate(-20deg)}.window-sunlight .light-shutters--0{-webkit-mask-image:linear-gradient(90deg,transparent 74%,#000 88% 100%);mask-image:linear-gradient(90deg,transparent 74%,#000 88% 100%)}.window-sunlight .light-shutters--1{-webkit-mask-image:linear-gradient(90deg,transparent 58%,#000 68% 77%,transparent 90%);mask-image:linear-gradient(90deg,transparent 58%,#000 68% 77%,transparent 90%)}.window-sunlight .light-shutters--2{-webkit-mask-image:linear-gradient(90deg,transparent 41%,#000 51% 60%,transparent 73%);mask-image:linear-gradient(90deg,transparent 41%,#000 51% 60%,transparent 73%)}.window-sunlight .light-shutters--3{-webkit-mask-image:linear-gradient(90deg,transparent 24%,#000 34% 43%,transparent 56%);mask-image:linear-gradient(90deg,transparent 24%,#000 34% 43%,transparent 56%)}.window-sunlight .light-shutters--4{-webkit-mask-image:linear-gradient(90deg,transparent 8%,#000 17% 26%,transparent 39%);mask-image:linear-gradient(90deg,transparent 8%,#000 17% 26%,transparent 39%)}.window-sunlight .light-shutters--5{-webkit-mask-image:linear-gradient(90deg,#000 0 10%,transparent 22%);mask-image:linear-gradient(90deg,#000 0 10%,transparent 22%)}.light-wall.is-shifted .light-tree{fill:#050f128a;stroke:#050f1280}.light-grain{position:absolute;inset:-40%;z-index:5;pointer-events:none;opacity:.2;background:repeating-radial-gradient(circle at 37% 42%,rgba(56,52,47,.12) 0 .6px,transparent .7px 3px);background-size:5px 5px;animation:wall-grain 1s steps(2) infinite;mix-blend-mode:multiply}.light-caption{position:absolute;z-index:7;left:1.6rem;bottom:1.35rem;max-width:23rem;margin:0;font:italic clamp(.75rem,1.2vw,.95rem)/1.45 var(--serif);color:color-mix(in oklch,var(--ink) 55%,transparent)}.light-wall.is-shifted .light-caption{color:#fffaeea3}@keyframes light-tree-drift{0%{transform:rotate(-1.2deg) translate3d(-1.4%,-1%,0) scale(1.01)}to{transform:rotate(1.4deg) translate3d(1.2%,.8%,0) scale(1.035)}}@keyframes wall-grain{0%{transform:translate(0)}25%{transform:translate(2%,-3%)}50%{transform:translate(-3%,2%)}75%{transform:translate(3%,3%)}}.sunlit-repo{--day: #fffdfa;--evening: #fccc83;--dusk: #db7a2a;--night: #0f131c;--dawn: #16132b;--morning: #9fb3bf;--shadow-day: #1a1917;--shadow-night: #030307;--bounce-day: #f5d7a6;--bounce-night: #1b293f;--light: var(--day);--dark: var(--night);--shadow: var(--shadow-day);--bounce-light: var(--bounce-day);--perspective-day: matrix3d(.75, -.0625, 0, .0008, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);--perspective-night: matrix3d(.8333, .0833, 0, .0003, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);--perspective-opacity-day: .07;--perspective-opacity-night: .3;--leaves-right: -700px;--leaves-bottom: -20px;--leaves-width: 1600px;--leaves-height: 1400px;--leaves-opacity: 1;--billow-duration: 8s;--shutter-gap-day: 60px;--shutter-gap-night: 20px;--shutter-height-day: 40px;--shutter-height-night: 80px;--blur-1: 6px;--blur-2: 12px;--blur-3: 48px;--blur-4: 96px;--timing-fn: cubic-bezier(.455, .19, 0, .985);position:absolute;inset:0;overflow:hidden;background:var(--light);color:var(--dark);cursor:pointer;transition:background-color .7s ease,color .7s ease}.sunlit-repo.is-ready{animation:sunlit-sunrise 1s linear forwards}.sunlit-repo.is-dark{--light: var(--night);--dark: var(--day);--shadow: var(--shadow-night);--bounce-light: var(--bounce-night);animation:sunlit-sunset 1.7s linear forwards}.sunlit-repo[data-preset=morning-mist]{--day: #eef4f2;--evening: #e5d6bd;--dusk: #a98f84;--night: #101820;--dawn: #263349;--morning: #bacbd0;--shadow-day: #42504b;--shadow-night: #081014;--bounce-day: #d6e7de;--bounce-night: #1d3038;--perspective-day: matrix3d(.78, -.045, 0, .0007, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);--perspective-opacity-day: .085;--leaves-right: -610px;--leaves-bottom: -10px;--leaves-width: 1500px;--leaves-height: 1350px;--leaves-opacity: .78;--billow-duration: 13s;--shutter-gap-day: 72px;--shutter-gap-night: 28px;--shutter-height-day: 36px;--shutter-height-night: 72px;--blur-1: 8px;--blur-2: 18px;--blur-3: 56px;--blur-4: 108px}.sunlit-repo[data-preset=clear-noon]{--day: #fffef6;--evening: #f8dda0;--dusk: #c78b55;--night: #111612;--dawn: #253027;--morning: #d7dcc9;--shadow-day: #292d23;--shadow-night: #050806;--bounce-day: #fff1bd;--bounce-night: #243027;--perspective-day: matrix3d(.72, -.072, 0, .0009, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);--perspective-opacity-day: .12;--leaves-right: -730px;--leaves-width: 1580px;--leaves-height: 1360px;--leaves-opacity: .92;--billow-duration: 10s;--shutter-gap-day: 48px;--shutter-gap-night: 16px;--shutter-height-day: 34px;--shutter-height-night: 74px;--blur-1: 2px;--blur-2: 6px;--blur-3: 18px;--blur-4: 46px}.sunlit-repo[data-preset=golden-hour]{--day: #fff4d7;--evening: #f7bf72;--dusk: #d66e3c;--night: #181119;--dawn: #3b2032;--morning: #d9a878;--shadow-day: #5f3929;--shadow-night: #11090d;--bounce-day: #ffc56d;--bounce-night: #3c2333;--perspective-day: matrix3d(.69, -.09, 0, .001, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);--perspective-opacity-day: .14;--leaves-right: -800px;--leaves-bottom: -50px;--leaves-width: 1760px;--leaves-height: 1460px;--leaves-opacity: .88;--billow-duration: 11s;--shutter-gap-day: 76px;--shutter-gap-night: 24px;--shutter-height-day: 30px;--shutter-height-night: 72px;--blur-1: 5px;--blur-2: 16px;--blur-3: 52px;--blur-4: 110px}.sunlit-repo[data-preset=windy-canopy]{--day: #edf3df;--evening: #e6d28a;--dusk: #b78052;--night: #0b1510;--dawn: #1c3327;--morning: #b5c7aa;--shadow-day: #263b2b;--shadow-night: #030a06;--bounce-day: #dbe7ac;--bounce-night: #173222;--perspective-day: matrix3d(.74, -.07, 0, .00085, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);--perspective-opacity-day: .13;--leaves-right: -850px;--leaves-bottom: -80px;--leaves-width: 1900px;--leaves-height: 1580px;--leaves-opacity: 1;--billow-duration: 4.8s;--shutter-gap-day: 58px;--shutter-gap-night: 18px;--shutter-height-day: 38px;--shutter-height-night: 78px;--blur-1: 4px;--blur-2: 10px;--blur-3: 36px;--blur-4: 72px}@keyframes sunlit-sunrise{0%{background-color:var(--night)}10%{background-color:var(--dawn)}35%{background-color:var(--morning)}to{background-color:var(--day)}}@keyframes sunlit-sunset{0%{background-color:var(--day)}30%{background-color:var(--evening)}60%{background-color:var(--dusk)}90%{background-color:var(--dawn)}to{background-color:var(--night)}}.sunlit-repo__light,.sunlit-repo__glow,.sunlit-repo__bounce,.sunlit-repo__progressive-blur{position:absolute;inset:0;pointer-events:none}.sunlit-repo__glow{opacity:.5;background:linear-gradient(309deg,var(--bounce-light),var(--bounce-light) 20%,transparent);transition:background 1s var(--timing-fn)}.sunlit-repo__bounce{opacity:.5;background:linear-gradient(355deg,var(--bounce-light),transparent 30%);transition:background 1s var(--timing-fn)}.sunlit-repo__perspective{position:absolute;top:-30vh;right:0;width:80vw;height:130vh;opacity:var(--perspective-opacity-day);transform-origin:top right;transform-style:preserve-3d;transform:var(--perspective-day);transition:transform 1.7s var(--timing-fn),opacity 4s ease}.sunlit-repo.is-dark .sunlit-repo__perspective{opacity:var(--perspective-opacity-night);transform:var(--perspective-night)}.sunlit-repo__leaves{position:absolute;right:var(--leaves-right);bottom:var(--leaves-bottom);width:var(--leaves-width);height:var(--leaves-height);opacity:var(--leaves-opacity);background:url(/assets/leaves-Bt9LQ_9p.png) center / cover no-repeat;filter:url(#sunlit-wind);animation:sunlit-billow var(--billow-duration) ease-in-out infinite;transition:right .7s ease,bottom .7s ease,width .7s ease,height .7s ease,opacity .7s ease}@keyframes sunlit-billow{0%,to{transform:perspective(400px) rotateX(0) rotateY(0) scale(1)}25%{transform:perspective(400px) rotateX(1deg) rotateY(2deg) scale(1.02)}50%{transform:perspective(400px) rotateX(-4deg) rotateY(-2deg) scale(.97)}75%{transform:perspective(400px) rotateX(1deg) rotateY(-1deg) scale(1.04)}}.sunlit-repo__blinds{position:relative;width:100%}.sunlit-repo__shutters{display:flex;flex-direction:column;align-items:flex-end;gap:var(--shutter-gap-day);transition:gap 1s var(--timing-fn)}.sunlit-repo.is-dark .sunlit-repo__shutters{gap:var(--shutter-gap-night)}.sunlit-repo__shutter{width:100%;height:var(--shutter-height-day);background:var(--shadow);transition:height 1s var(--timing-fn),background 1s var(--timing-fn)}.sunlit-repo.is-dark .sunlit-repo__shutter{height:var(--shutter-height-night)}.sunlit-repo__vertical{position:absolute;inset:0;display:flex;justify-content:space-around}.sunlit-repo__vertical i{width:5px;height:100%;background:var(--shadow)}.sunlit-repo__progressive-blur>div{position:absolute;inset:0}.sunlit-repo__progressive-blur>div:nth-child(1){-webkit-backdrop-filter:blur(var(--blur-1));backdrop-filter:blur(var(--blur-1))}.sunlit-repo__progressive-blur>div:nth-child(2){-webkit-backdrop-filter:blur(var(--blur-2));backdrop-filter:blur(var(--blur-2));-webkit-mask-image:linear-gradient(252deg,transparent,transparent 40%,#000 80%,#000);mask-image:linear-gradient(252deg,transparent,transparent 40%,#000 80%,#000)}.sunlit-repo__progressive-blur>div:nth-child(3){-webkit-backdrop-filter:blur(var(--blur-3));backdrop-filter:blur(var(--blur-3));-webkit-mask-image:linear-gradient(252deg,transparent,transparent 40%,#000 70%,#000);mask-image:linear-gradient(252deg,transparent,transparent 40%,#000 70%,#000)}.sunlit-repo__progressive-blur>div:nth-child(4){-webkit-backdrop-filter:blur(var(--blur-4));backdrop-filter:blur(var(--blur-4));-webkit-mask-image:linear-gradient(252deg,transparent,transparent 70%,#000 80%,#000);mask-image:linear-gradient(252deg,transparent,transparent 70%,#000 80%,#000)}.sunlit-repo__copy{position:relative;z-index:3;width:min(800px,calc(100% - 3rem));margin:0 auto;padding-top:40vh;pointer-events:none}.sunlit-repo__copy h2{margin:0 0 .55rem;font:400 clamp(2rem,5vw,4rem)/1 var(--serif)}.sunlit-repo__copy p{max-width:26rem;margin:0;font-size:.72rem;line-height:1.5}.sunlit-repo__copy small{display:block;margin-top:.6rem;font-size:.62rem;color:color-mix(in oklch,currentColor 62%,transparent)}.sunlit-repo__toggle{position:absolute;z-index:5;top:1rem;left:1rem;border:0;padding:.5rem;background:transparent;color:currentColor;cursor:pointer;font-size:.66rem}.sunlit-presets{position:absolute;top:1rem;right:1rem;z-index:6;display:flex;align-items:center;gap:.8rem;max-width:calc(100% - 7rem);padding:.45rem .55rem;overflow-x:auto;border:1px solid color-mix(in oklch,currentColor 18%,transparent);background:color-mix(in oklch,var(--light) 92%,transparent);color:currentColor;font-size:.61rem;white-space:nowrap;transition:background-color .7s ease,color .7s ease}.sunlit-presets span{color:color-mix(in oklch,currentColor 58%,transparent)}.sunlit-presets button{border:0;border-bottom:1px solid transparent;padding:.12rem 0;background:transparent;color:color-mix(in oklch,currentColor 62%,transparent);cursor:pointer;font:inherit}.sunlit-presets button:hover,.sunlit-presets button:focus-visible,.sunlit-presets button[aria-pressed=true]{border-bottom-color:currentColor;color:currentColor}.sunlit-place{--bg-light: #fff;--bg-light2: #fbf9fa;--bg-sunset: #ffbd8d;--shadow-color: #b6b6b6;--shadow-transition: #e8e6e5a5;position:absolute;inset:0;overflow:hidden;background:linear-gradient(85deg,var(--bg-light),var(--bg-light2))}.sunlit-place,.sunlit-place *{box-sizing:content-box}.sunlit-place__container{position:absolute;top:0;left:0;width:100%;perspective:var(--scene-perspective);transform:rotate(-20deg);transition:transform 1.2s ease-out}.sunlit-place.is-sunset .sunlit-place__container{transform:rotate(-16deg) translate(10%)}.sunlit-place__shutters{display:flex;flex-direction:column;transform-style:preserve-3d;transition:transform 1.8s ease-in-out}.sunlit-place__shutters i{position:absolute;right:0;width:80%;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:var(--scene-width) solid var(--shadow-color);background:linear-gradient(200deg,var(--shadow-color),var(--shadow-transition) 30%,transparent);filter:blur(6px);transform:translate(var(--shutter-translate)) rotateY(4deg);transition:top .5s ease-in-out,left .5s ease-in-out,height .5s ease-in-out}.sunlit-place.is-sunset .sunlit-place__shutters i{margin-top:18px}.sunlit-place__vertical{position:absolute;top:0;right:30%;width:24px;height:100%;background:var(--shadow-color);filter:blur(6px)}.sunlit-place__trees,.sunlit-place__falling{position:absolute;inset:0;opacity:1;transition:opacity 1s ease-out}.sunlit-place__trees.is-hidden,.sunlit-place__falling.is-hidden{opacity:0;transition-duration:.5s}.sunlit-place__tree-leaf-wrapper,.sunlit-place__leaf-wrapper{position:absolute;display:block;width:100px;height:100px}.sunlit-place__tree-leaf-wrapper>b,.sunlit-place__leaf-wrapper>b{display:block;width:100%;height:100%;background:var(--shadow-color)}.sunlit-place .leaf-1{border-radius:0 70px}.sunlit-place .leaf-2{border-radius:0 80px}.sunlit-place .leaf-3{border-radius:0 90px}.sunlit-place .leaf-4{border-radius:0 100px}.sunlit-place__leaf-wrapper,.sunlit-place__leaf-wrapper>b{border-radius:0 70px}.sunlit-place__leaf-wrapper>b{animation:sunlit-place-fall ease-in-out infinite}@keyframes sunlit-place-fall{0%{opacity:0;transform:translateY(0) translate(0) scale(1) rotate(0)}20%{opacity:.8;transform:translateY(var(--fall-20)) translate(-50px) scale(1) rotate(45deg)}40%{opacity:.8;transform:translateY(var(--fall-40)) translate(50px) scale(1) rotate(-45deg)}to{opacity:.8;transform:translateY(var(--fall-100)) translate(0) scale(1.2) rotate(180deg)}}.sunlit-place__progressive-blur{position:absolute;z-index:5;top:var(--blur-top);left:var(--blur-left);width:var(--blur-width);height:var(--blur-height);transform:rotate(90deg);pointer-events:none}.sunlit-place__progressive-blur:before,.sunlit-place__progressive-blur:after,.sunlit-place__progressive-blur>div{position:absolute;inset:0}.sunlit-place__progressive-blur:before{z-index:1;content:"";backdrop-filter:blur(.5px);-webkit-backdrop-filter:blur(.5px);mask:linear-gradient(180deg,transparent 0,#000 12.5% 25%,transparent 37.5%);-webkit-mask:linear-gradient(180deg,transparent 0,#000 12.5% 25%,transparent 37.5%)}.sunlit-place__progressive-blur>div:nth-child(1){z-index:2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);mask:linear-gradient(180deg,transparent 12.5%,#000 25% 37.5%,transparent 50%);-webkit-mask:linear-gradient(180deg,transparent 12.5%,#000 25% 37.5%,transparent 50%)}.sunlit-place__progressive-blur>div:nth-child(2){z-index:3;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);mask:linear-gradient(180deg,transparent 25%,#000 37.5% 50%,transparent 62.5%);-webkit-mask:linear-gradient(180deg,transparent 25%,#000 37.5% 50%,transparent 62.5%)}.sunlit-place__progressive-blur>div:nth-child(3){z-index:4;backdrop-filter:blur(50px);-webkit-backdrop-filter:blur(50px);mask:linear-gradient(180deg,transparent 37.5%,#000 50% 62.5%,transparent 75%);-webkit-mask:linear-gradient(180deg,transparent 37.5%,#000 50% 62.5%,transparent 75%)}.sunlit-place__progressive-blur>div:nth-child(4){z-index:5;backdrop-filter:blur(100px);-webkit-backdrop-filter:blur(100px);mask:linear-gradient(180deg,transparent 50%,#000 62.5% 75%,transparent 87.5%);-webkit-mask:linear-gradient(180deg,transparent 50%,#000 62.5% 75%,transparent 87.5%)}.sunlit-place__progressive-blur>div:nth-child(5){z-index:6;backdrop-filter:blur(100px);-webkit-backdrop-filter:blur(100px);mask:linear-gradient(180deg,transparent 62.5%,#000 75% 87.5%,transparent);-webkit-mask:linear-gradient(180deg,transparent 62.5%,#000 75% 87.5%,transparent)}.sunlit-place__progressive-blur>div:nth-child(6){z-index:7;backdrop-filter:blur(100px);-webkit-backdrop-filter:blur(100px);mask:linear-gradient(180deg,transparent 75%,#000 87.5%,#000);-webkit-mask:linear-gradient(180deg,transparent 75%,#000 87.5%,#000)}.sunlit-place__progressive-blur:after{z-index:8;content:"";backdrop-filter:blur(100px);-webkit-backdrop-filter:blur(100px);mask:linear-gradient(180deg,transparent 87.5%,#000);-webkit-mask:linear-gradient(180deg,transparent 87.5%,#000)}.sunlit-place__blur-overlay{position:absolute;inset:0;background:linear-gradient(85deg,var(--bg-light2),var(--bg-light2) 20%,transparent)}.sunlit-place__sunset{position:absolute;z-index:101;inset:0;opacity:0;background:var(--bg-sunset);filter:brightness(1.02);mix-blend-mode:multiply;transition:opacity 3s ease-in-out;pointer-events:none}.sunlit-place.is-sunset .sunlit-place__sunset{opacity:1}.sunlit-place__grain{position:absolute;z-index:10;inset:0;pointer-events:none;filter:brightness(120%) sepia(50%)}.sunlit-place__grain:before{position:absolute;top:-10rem;left:-10rem;width:calc(100% + 20rem);height:calc(100% + 20rem);content:"";opacity:.12;background-image:url(https://upload.wikimedia.org/wikipedia/commons/5/5c/Image_gaussian_noise_example.png);animation:sunlit-place-noise 1s steps(2) infinite}@keyframes sunlit-place-noise{0%{transform:translate3d(0,2rem,0)}10%{transform:translate3d(-1rem,-2rem,0)}20%{transform:translate3d(-4rem,1rem,0)}30%{transform:translate3d(4.5rem,-4.5rem,0)}40%{transform:translate3d(-1rem,3.5rem,0)}50%{transform:translate3d(-4.5rem,-2rem,0)}60%{transform:translate3d(1rem,3rem,0)}70%{transform:translate3d(3.5rem,-4rem,0)}80%{transform:translate3d(-4.5rem,.5rem,0)}90%{transform:translate3d(3rem,-2.5rem,0)}to{transform:translate3d(-3.5rem,0,0)}}.sunlit-place__toggle{position:absolute;z-index:1000;top:20px;left:20px;width:18px;height:18px;border:0;padding:10px;background:transparent;cursor:pointer;transition:opacity .05s ease-out}.sunlit-place__toggle:hover{opacity:.6}.sunlit-place__toggle:focus-visible{outline:1px solid currentColor;outline-offset:2px}.sunlit-place__toggle span{position:absolute;top:0;left:0;width:18px;height:18px;opacity:.5;transition:opacity .15s ease-out .03s}.sunlit-place__toggle svg{display:block;width:18px;height:18px;overflow:visible;fill:currentColor;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}.sunlit-place__sun-icon svg circle{stroke:none}.sunlit-place__moon-icon{opacity:0!important;transition:opacity .05s ease-out!important}.sunlit-place.is-sunset .sunlit-place__sun-icon{opacity:0;transition-duration:.05s}.sunlit-place.is-sunset .sunlit-place__moon-icon{opacity:.5!important;transition:opacity .15s ease-out .03s!important}@media(max-width:599px){.sunlit-place{--shadow-color: #c7c7c7}.sunlit-place__blur-overlay{background:linear-gradient(75deg,var(--bg-light2),var(--bg-light2) 45%,transparent)}}.nicole-scene{position:absolute;inset:0;overflow:hidden;isolation:isolate;background:#c6c0af}.nicole-scene video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.nicole-scene__base{z-index:1}.nicole-scene__leaves{z-index:2;opacity:0;object-position:top;mix-blend-mode:multiply;pointer-events:none;transition:opacity .7s cubic-bezier(.23,1,.32,1)}.nicole-scene.is-sunny .nicole-scene__leaves{opacity:1}.nicole-scene__copy{position:absolute;z-index:3;top:0;left:0;display:flex;flex-direction:column;gap:1.25rem;padding:9rem;color:#181816}.nicole-scene__copy p{margin:0;font:400 .875rem/1.43 var(--mono)}.nicole-scene__copy p:first-child{font-weight:500}.nicole-sun{display:flex;align-items:center;align-self:flex-start;gap:.625rem;border:0;padding:0;background:transparent;color:#181816;cursor:pointer;font:500 .75rem/1.33 var(--mono);letter-spacing:.06em}.nicole-sun i{position:relative;width:40px;height:22px;border-radius:11px;background:#1818160f;box-shadow:inset 0 1px 3px #1818161f,inset 0 0 0 .5px #1818160f,0 .5px #ffffff80;transition:background .4s cubic-bezier(.23,1,.32,1),box-shadow .4s cubic-bezier(.23,1,.32,1)}.nicole-sun i b{position:absolute;top:2px;left:2px;display:block;width:18px;height:18px;border-radius:50%;background:linear-gradient(145deg,#faf8f5,#ede9e3);box-shadow:0 1px 3px #1818162e,0 .5px 1px #1818161f,inset 0 .5px #ffffffb3;transition:transform .4s cubic-bezier(.23,1,.32,1)}.nicole-sun[aria-checked=true] i{background:#18181621}.nicole-sun[aria-checked=true] i b{transform:translate(18px)}.study--daylight{display:block;overflow:visible;background:#11170e}.study--daylight .study__bar{position:fixed;inset:0 0 auto;z-index:25;color:#f4efe4;border-color:#ffffff2b;background:#0d120b38;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.study--daylight .study-tabs{position:fixed;inset:3.1rem 0 auto;z-index:24;border-color:#ffffff2b;background:#0d120bc7;color:#fffaed9e}.study--daylight .study-tabs__label,.study--daylight .study-tabs a:hover,.study--daylight .study-tabs a:focus-visible,.study--daylight .study-tabs a[aria-current=page]{color:#f4efe4}.study__stage--daylight{height:200vh;overflow:visible}.study__stage--daylight .dom-stage{position:relative;inset:auto;height:100%;overflow:visible}.daylight-scroll{height:100%}.daylight-sticky{position:sticky;top:0;height:100vh;overflow:hidden;background:#10160d}.daylight-viewport{position:absolute;inset:18px;overflow:hidden;border-radius:24px}.daylight-frame,.daylight-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.daylight-frame{z-index:1}.daylight-fallback{z-index:0}.daylight-fallback.is-hidden{visibility:hidden}.daylight-copy{position:absolute;z-index:2;left:clamp(1.3rem,3.5vw,3.5rem);top:clamp(5.5rem,13vh,8rem);max-width:31rem;color:#f8f1df;text-shadow:0 2px 28px rgba(0,0,0,.38)}.daylight-copy p{max-width:17em;margin:1.25em 0 0;font-size:clamp(.9rem,1.35vw,1.25rem);line-height:1.55}.daylight-copy h2{margin:0;font:400 clamp(3.2rem,5.4vw,6.2rem)/.94 var(--serif);letter-spacing:-.045em}.daylight-hint{position:absolute;z-index:3;right:1.5rem;bottom:1.35rem;margin:0;color:#fffaedb8;font-size:.65rem;letter-spacing:.08em}.study--daylight .study__foot{position:relative;color:#fffaed9e;border-color:#ffffff24;background:#10160d}.study__prompt{position:absolute;left:50%;bottom:1.15rem;z-index:4;width:max-content;max-width:calc(100% - 2rem);transform:translate(-50%);margin:0;padding:.42rem .62rem;border:1px solid var(--line);border-radius:0;background:color-mix(in oklch,var(--paper) 94%,transparent);font:.68rem/1.35 var(--sans);color:color-mix(in oklch,var(--ink) 78%,transparent);pointer-events:none}.study__foot{position:relative;z-index:12;display:flex;justify-content:space-between;padding:.75rem clamp(.9rem,2.5vw,2rem);font-size:.62rem;color:var(--muted);border-top:1px solid var(--line)}.notes{position:fixed;inset:0 0 0 auto;z-index:30;width:min(34rem,92vw);overflow-y:auto;padding:1.2rem clamp(1.2rem,4vw,3.25rem) 3rem;background:var(--paper);border-left:1px solid var(--line);transform:translate(102%);transition:transform .26s ease}.notes.is-open{transform:translate(0)}.notes__close{display:block;margin-left:auto}.notes__kicker{margin:3.5rem 0 .8rem;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.notes h2{margin:0;font:400 clamp(2.2rem,4vw,3.6rem)/.96 var(--serif);letter-spacing:-.035em}.notes__lead{margin:1.4rem 0 3rem;font:400 1.08rem/1.55 var(--serif)}.notes h3{margin:2.5rem 0 .7rem;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase}.notes p,.notes li{font-size:.82rem;line-height:1.65;color:color-mix(in oklch,var(--ink) 77%,transparent)}.notes ul{margin:0;padding-left:1.1rem}.notes li+li{margin-top:.8rem}.notes__source{display:inline-block;margin-top:1rem;padding-bottom:.15rem;border-bottom:1px solid currentColor;font-size:.7rem}.notes__evidence{padding:1rem;background:color-mix(in oklch,var(--paper-deep) 72%,transparent)}.lil-gui.root{--background-color: #242720;--widget-color: #34382f;--hover-color: #42483c;--focus-color: #4d5547;--text-color: #ece9df;--number-color: #d5bf83;--string-color: #bdcfab;z-index:40!important}@media(max-width:760px){.site-head{grid-template-columns:1fr auto}.site-head__count{display:none}.intro{min-height:auto;grid-template-columns:1fr;align-items:start;gap:2.5rem;padding-top:3.5rem;padding-bottom:4.5rem}.intro h1{max-width:10ch;font-size:clamp(3rem,14vw,4.6rem)}.intro__aside{align-self:end}.entry{grid-template-columns:2.5rem 1fr}.entry__visual{grid-column:2;width:min(100%,28rem);margin-top:1rem}.about-strip{grid-template-columns:1fr;gap:2rem}.study__bar{grid-template-columns:1fr 1fr}.study__name{display:none}.study__stage{height:calc(100dvh - 7rem)}.study--series:not(.study--daylight) .study__stage{height:calc(100dvh - 9.4rem)}.study-tabs{padding-inline:.9rem}.garden-version-tabs{top:.75rem}.garden-runtime{width:min(535px,calc(100vw - 2.5rem))}.dappled-runtime{width:min(500px,calc(100vw - 2.5rem))}.duck-source-frame{width:88vw;height:45dvh;min-height:300px}.light-rig{width:220vw;right:-92vw}.light-tree{width:145vw;right:-52vw}.light-caption{display:none}.sunlit-presets{top:3.2rem;right:1rem;left:1rem;max-width:none}.sunlit-repo__copy{width:calc(100% - 2rem);padding-top:48vh}.nicole-scene__copy{padding:5rem 1.5rem}.nicole-sun{right:1rem;bottom:1rem}.daylight-frame{object-position:57% center}.daylight-copy h2{font-size:clamp(3.2rem,15vw,5rem)}.study__foot span:last-child{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
