.sparkly-text{position:relative}svg.sparkle{opacity:0;z-index:-1;transform-origin:50%;pointer-events:none;width:1em;height:1em;top:calc(var(--top) - 1em / 2);left:calc(var(--left) - 1em / 2);animation:1.5s linear infinite sparkle-spawn;animation-delay:calc(var(--spawn-delay) + 2s);color:var(--text-primary);position:absolute}@keyframes sparkle-spawn{0%{opacity:0;rotate:0deg;scale:0}50%{opacity:1;scale:1}to{opacity:0;rotate:180deg;scale:0}}@media screen and (prefers-reduced-motion:reduce){svg.sparkle{animation:none}}.recent-card{gap:var(--space-s);flex-direction:column;height:100%;display:flex}.recent-card .card-content{gap:var(--space-3xs);padding-inline:var(--space-2xs);flex-direction:column;display:flex}.recent-card .card-meta{justify-content:space-between;align-items:baseline;gap:var(--space-xs);display:flex}.recent-card .created-at{color:var(--text-secondary);font-size:var(--fs-sm);letter-spacing:.025em}.recent-card .card-index{font-family:var(--ff-mono);font-size:var(--fs-xs);letter-spacing:.08em;color:var(--text-tertiary)}.recent-card .title{text-wrap:balance;font-size:var(--fs-md);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-heading);line-height:1.2}.recent-card .title a{color:var(--text-primary);text-decoration:none}.recent-card .description{text-wrap:balance;font-size:var(--fs-sm);color:var(--text-secondary);margin-top:var(--space-3xs);line-height:1.4}.recent-card .image-link{aspect-ratio:var(--aspect-ratio-card-desktop);background:var(--work-image-bg);border:1px solid var(--border-primary);transition:border-color var(--transition-base);justify-content:center;align-items:center;padding:clamp(.75rem,2vw,1.25rem);display:flex;position:relative}.recent-card .image-link img,.recent-card .image-link video{object-fit:contain;object-position:center;width:100%;height:auto;max-height:100%;display:block}@media screen and (hover:hover){.recent-card .title a{transition:color var(--transition-base)}.recent-card .title a:hover{color:var(--accent)}.recent-card .image-link:hover{border-color:var(--border-secondary)}}@media screen and (width<=768px){.recent-card{gap:var(--space-xs)}.recent-card .image-link{aspect-ratio:var(--aspect-ratio-card-tablet)}}@media screen and (width<=480px){.recent-card .image-link{aspect-ratio:var(--aspect-ratio-card-mobile)}}#recent-posts-list{column-gap:var(--space-fluid-l);margin-block:var(--space-m);grid-template-columns:repeat(12,minmax(0,1fr));list-style:none;display:grid}#recent-posts-list>li:first-child{grid-column:1/span 6}#recent-posts-list>li:nth-child(2){margin-top:var(--space-fluid-2xl);grid-column:7/span 4}@media screen and (width<=1024px){#recent-posts-list>li:first-child{grid-column:1/span 7}#recent-posts-list>li:nth-child(2){margin-top:var(--space-fluid-l);grid-column:8/span 5}}.reveal-card{z-index:4;display:block;overflow:hidden}.reveal-card.visible{overflow:visible}html.js .reveal-card{transition:opacity var(--duration-slow) var(--ease-default), transform var(--duration-slowest) var(--ease-default);opacity:0}html.js .reveal-card[data-direction=left]{transform-origin:0;transform:translate(-50px)translateZ(0)}html.js .reveal-card[data-direction=right]{transform-origin:100%;transition-delay:.3s;transform:translate(50px)translateZ(0)}html.js .reveal-card.visible{opacity:1;transform:translate(0)translateZ(0)}@media (prefers-reduced-motion:reduce){html.js .reveal-card,html.js .reveal-card[data-direction]{opacity:1;transition:none;transform:none}}.reveal-card:not(.visible) :has(.label-text) .label-text{animation-play-state:paused}@media screen and (width<=768px){#recent-posts-list{row-gap:var(--space-xl);grid-template-columns:1fr;margin:0}#recent-posts-list>li:first-child,#recent-posts-list>li:nth-child(2){grid-column:auto;margin-top:0}.reveal-card[data-direction=left].visible,.reveal-card[data-direction=right].visible{transform:translate(0)translateZ(0)}}.home-sheet{gap:var(--space-fluid-2xl);margin-bottom:var(--space-fluid-2xl);grid-template-columns:minmax(0,8fr) minmax(12rem,4fr);align-items:start;display:grid}.sheet-media{position:relative}.sheet-media>.play-pause{position:absolute;inset-block-end:var(--space-m);inset-inline-end:var(--space-m)}.sheet-frame{background:var(--work-image-bg);border:var(--border-width-hairline) solid var(--border-primary);justify-content:center;align-items:center;min-height:min(72svh,44rem);padding:clamp(.85rem,2vw,1.5rem);display:flex;position:relative;overflow:visible}.sheet-frame img,.sheet-frame video{object-fit:contain;object-position:center;width:100%;height:auto;max-height:min(68svh,40rem);display:block}.sheet-caption{gap:var(--space-s);padding-bottom:var(--space-2xs);flex-direction:column;max-width:28rem;display:flex}.sheet-kicker{align-items:center;gap:var(--space-2xs);font-size:var(--fs-xs);font-weight:var(--font-weight-medium);letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary);margin:0;display:flex}.sheet-title{font-family:var(--ff-serif);font-size:var(--fs-lg);font-weight:var(--font-weight-regular);text-wrap:balance;letter-spacing:0;margin:0;font-style:italic;line-height:1.2}.sheet-title a{color:var(--text-primary);text-decoration:none}.sheet-lede{font-size:var(--fs-sm);color:var(--text-secondary);text-wrap:pretty;margin:0;line-height:1.45}.sheet-meta{align-items:baseline;gap:var(--space-2xs);font-family:var(--ff-mono);font-size:var(--fs-xs);letter-spacing:.04em;color:var(--text-tertiary);flex-wrap:wrap;margin:0;display:flex}@media screen and (hover:hover){.sheet-title a{transition:color var(--transition-fast)}.sheet-title a:hover{color:var(--text-highlight)}.sheet-frame:hover{border-color:var(--border-secondary)}}@media screen and (width<=1024px){.home-sheet{gap:var(--space-l);grid-template-columns:1fr;align-items:start}.sheet-frame{min-height:0}.sheet-frame img,.sheet-frame video{max-height:min(62svh,32rem)}.sheet-caption{order:-1;max-width:44rem}}.split-container{max-width:var(--page-width);grid-template-columns:minmax(0,4fr) minmax(0,8fr);align-items:start;gap:0;margin:0 auto;display:grid!important}.sidebar{top:var(--space-fluid-l);gap:var(--space-m);padding-right:var(--space-fluid-2xl);flex-direction:column;flex-shrink:0;display:flex;position:sticky}.note-block p{font-size:var(--fs-md);font-weight:var(--font-weight-book);color:var(--text-secondary);letter-spacing:-.01em;text-wrap:balance;line-height:1.3}.stats-line{font-family:var(--ff-mono);font-size:var(--fs-xs);letter-spacing:.06em;color:var(--text-tertiary);margin:0}.content-area{border-left:1px solid var(--border-primary);min-width:0;padding-left:var(--space-fluid-2xl);flex-direction:column;flex:1;display:flex}.intro-block{max-width:44rem}.intro-block p{font-size:var(--fs-prose-lg);margin-bottom:var(--space-l);line-height:1.45}.intro-block p:first-child{font-size:var(--fs-lg);font-weight:var(--font-weight-book);letter-spacing:-.015em;line-height:1.3}.intro-block p:last-child{margin-bottom:0}.section-divider{background-color:var(--border-primary);width:100%;height:1px;margin-inline:0;margin-top:var(--space-fluid-2xl);border:none;margin-bottom:0}.works-block{margin-top:var(--space-fluid-s);gap:var(--space-fluid-l);flex-direction:column;display:flex}.works-block h2{font-size:var(--fs-sm);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.09em;color:var(--text-tertiary);margin-bottom:0;font-style:normal}.works-block .recent-works-header{justify-content:space-between;align-items:baseline;gap:var(--space-fluid-s);flex-wrap:wrap;display:flex}.see-all-works{font-size:var(--fs-sm);font-weight:var(--font-weight-medium);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);white-space:nowrap;text-decoration:none}.see-all-works:after{content:"↗";margin-left:.5ex;font-size:.95em}@media screen and (width<=1024px){.split-container{gap:var(--space-xl);flex-direction:column;display:flex!important}.sidebar{width:100%;padding-right:0;position:relative;top:0}.content-area{border-left:none;padding-left:0}.intro-block p{font-size:var(--fs-lg)}}
