.explore{--explore-muted:color-mix(in srgb, var(--dim) 65%, var(--fg));padding:.2rem 0 3rem}.explore-reset{z-index:5;border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--fg);font:600 .72rem/1 var(--font-sans);cursor:pointer;border-radius:4px;padding:.55rem .8rem;position:absolute;top:1rem;right:1rem}.explore-reset:hover{border-color:var(--accent);color:var(--accent)}.explore-reset:focus-visible,.globe-stage:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.globe-hint{z-index:2;max-width:calc(100% - 8rem);color:var(--explore-muted);font:600 .62rem/1.4 var(--font-mono);letter-spacing:.02em;pointer-events:none;transition:opacity .2s;position:absolute;top:1.25rem;left:1.25rem}.globe-stage.has-interacted .globe-hint{opacity:0}.globe-hint-mobile{display:none}.explore-scene{border:1px solid var(--border);background:radial-gradient(circle at 36% 50%, color-mix(in srgb, var(--surface) 72%, var(--bg)), var(--bg) 63%);border-radius:7px;grid-template-columns:minmax(0,1fr) minmax(17rem,20rem);min-height:610px;display:grid;overflow:hidden}.globe-stage{--radius:clamp(170px, 21vw, 255px);perspective:1000px;cursor:grab;touch-action:pan-y;min-width:0;min-height:610px;position:relative;overflow:hidden}.globe-stage.is-sparse{--radius:clamp(125px, 14vw, 180px)}.globe-stage.is-dragging{cursor:grabbing}.globe-orbit{width:calc(var(--radius) * 2.05);aspect-ratio:1;border:1px solid color-mix(in srgb, var(--accent) 19%, transparent);box-shadow:inset 0 0 80px color-mix(in srgb, var(--accent) 4%, transparent);pointer-events:none;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.globe-orbit:before,.globe-orbit:after{content:"";border:1px solid color-mix(in srgb, var(--accent) 11%, transparent);border-radius:50%;position:absolute;top:50%;left:50%}.globe-orbit:before{width:100%;height:33%;transform:translate(-50%,-50%)rotate(-12deg)}.globe-orbit:after{width:39%;height:100%;transform:translate(-50%,-50%)rotate(13deg)}.globe-axis,.paper-globe{transform-style:preserve-3d}.globe-axis{width:0;height:0;transform:rotateX(var(--pitch,0deg));transition:transform .55s cubic-bezier(.17,.84,.3,1);position:absolute;top:50%;left:50%}.paper-globe{width:0;height:0;transform:rotateY(var(--yaw,0deg));transition:transform .55s cubic-bezier(.17,.84,.3,1);position:absolute}.globe-stage:not(.is-ready){overflow:auto}.globe-stage:not(.is-ready) .globe-axis{width:100%;height:auto;position:relative;top:auto;left:auto;transform:none}.paper-globe:not(.is-ready){grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:1rem;width:100%;height:auto;padding:1rem;display:grid;position:relative;transform:none}.explore .paper{width:100px;height:124px;opacity:var(--depth-alpha,1);transform:rotateY(var(--lon,0deg)) rotateX(var(--neg-lat,0deg)) translateZ(var(--radius));-webkit-backface-visibility:hidden;backface-visibility:hidden;margin-top:-62px;margin-left:-50px;transition:opacity .16s;position:absolute;top:0;left:0}.explore .paper.is-selected{transform:rotateY(var(--lon,0deg)) rotateX(var(--neg-lat,0deg)) translateZ(calc(var(--radius) + 200px))}.explore .paper:hover,.explore .paper:focus-within{opacity:1}.explore .paper[hidden]{display:none!important}.explore .paper-globe:not(.is-ready) .paper{width:100%;height:auto;min-height:124px;margin:0;position:relative;transform:none}.globe-stage:not(.is-ready) :is(.explore-reset,.globe-hint,.globe-orbit){display:none}.paper-surface{color:#30343a;background:linear-gradient(145deg,#fffefb,#f3efe5);width:100%;height:100%;padding:9px;transition:transform .3s cubic-bezier(.17,.84,.3,1),box-shadow .3s;position:relative;overflow:hidden;box-shadow:0 15px 23px -14px #0000008c,0 3px 7px -4px #00000040}.paper-surface:after{content:"";background:linear-gradient(225deg, color-mix(in srgb, var(--bg) 72%, transparent) 49%, #ded9cc 50%, #f1ecdf 75%);pointer-events:none;width:15px;height:15px;position:absolute;top:0;right:0}.explore .paper:hover .paper-surface,.explore .paper:focus-within .paper-surface,.explore .paper.is-selected .paper-surface{transform:scale(1.1);box-shadow:0 28px 36px -19px #0009,0 8px 16px -9px #00000057}.explore .paper.is-selected .paper-surface{transform:scale(1)}.paper-select{width:100%;height:100%;min-height:0;color:inherit;text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:stretch;padding:0;display:flex;overflow:hidden}.paper-select:focus-visible,.selected-read:focus-visible{outline-offset:3px;outline:2px solid #0969da}.paper-meta{color:#626b73;min-width:0;font:600 .54rem/1.35 var(--font-mono);letter-spacing:.04em;justify-content:space-between;gap:.25rem;display:flex}.paper-meta>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.paper-date{color:#626b73;font:600 .56rem/1.2 var(--font-mono);margin-top:.55rem}.paper-title{-webkit-line-clamp:3;line-clamp:3;color:#24292f;font:700 .68rem/1.28 var(--font-sans);letter-spacing:-.015em;-webkit-box-orient:vertical;margin-top:.35rem;display:-webkit-box;overflow:hidden}.paper-description{-webkit-line-clamp:2;line-clamp:2;color:#4e565e;opacity:.7;font:.55rem/1.35 var(--font-sans);-webkit-box-orient:vertical;margin-top:.45rem;transition:opacity .2s;display:-webkit-box;overflow:hidden}.explore .paper:hover .paper-description,.explore .paper:focus-within .paper-description,.explore .paper.is-selected .paper-description{opacity:1}.selected-paper{border-left:1px solid var(--border);background:color-mix(in srgb, var(--bg) 94%, var(--surface));flex-direction:column;justify-content:space-between;gap:2rem;min-width:0;padding:1.6rem;display:flex}.selected-label{color:var(--explore-muted);font:600 .64rem/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:1rem;display:flex}.selected-content{margin-block:auto}.selected-thumb{border:1px solid var(--border);background:var(--surface);object-fit:cover;object-position:top center;border-radius:4px;width:100%;height:auto;margin-bottom:1.1rem;display:block}.selected-thumb--module{aspect-ratio:16/10}.selected-thumb--paper{aspect-ratio:1200/630}.selected-thumb[hidden]{display:none}@media (width<=760px){.selected-thumb{max-width:22rem}}.selected-meta{color:var(--explore-muted);font:.68rem/1.4 var(--font-mono);justify-content:space-between;gap:.8rem;margin-bottom:1rem;display:flex}.selected-content .selected-title{text-transform:none;max-width:18ch;color:var(--fg);font:650 clamp(1.4rem, 2.4vw, 2.2rem) / 1.14 var(--font-sans);letter-spacing:-.03em;text-wrap:pretty;border:0;margin:0;padding:0}.selected-description{color:var(--explore-muted);font:.88rem/1.65 var(--font-sans);margin-top:1.2rem}.selected-read{border-top:1px solid var(--border);min-height:44px;color:var(--accent);font:600 .83rem/1.4 var(--font-sans);justify-content:space-between;align-self:stretch;align-items:center;gap:.5rem;padding:.65rem 0;text-decoration:none;display:inline-flex}.selected-read:hover{opacity:1;text-underline-offset:.2em;text-decoration:underline}.selected-read[hidden]{display:none}.preview-note{border-top:1px solid var(--border);min-height:44px;color:var(--explore-muted);font:.72rem/1.4 var(--font-mono);padding:.75rem 0}.preview-note[hidden]{display:none}.explore-keyboard{color:var(--explore-muted);font:.68rem/1.5 var(--font-mono);margin-top:.7rem}.globe-stage.is-dragging .globe-axis,.globe-stage.is-dragging .paper-globe,.globe-stage.is-dragging .paper{transition:none}@media (width<=760px){.globe-hint-desktop{display:none}.globe-hint-mobile{display:inline}.explore-scene{grid-template-columns:1fr;min-height:0}.globe-stage{--radius:clamp(135px, 36vw, 190px);min-height:min(90vw,430px)}.globe-stage.is-sparse{--radius:clamp(112px, 30vw, 155px)}.selected-paper{border-top:1px solid var(--border);border-left:0;min-height:200px;padding:1.25rem}.selected-content .selected-title{max-width:27ch}}@media (width<=520px){.explore-reset{padding-inline:.6rem}.globe-stage{--radius:clamp(112px, 35vw, 150px);min-height:min(82vw,330px)}.selected-paper{min-height:180px}.explore .paper{width:90px;height:112px;margin-top:-56px;margin-left:-45px}.paper-meta{font-size:.48rem}.paper-date{font-size:.5rem}.paper-title{font-size:.6rem}.paper-description{font-size:.52rem}.explore-keyboard{display:none}}@media (prefers-reduced-motion:reduce){.globe-axis,.paper-globe,.explore .paper,.paper-surface,.paper-description,.globe-hint{transition:none}}.explore.explore--module .paper{width:108px;height:132px;margin-top:-66px;margin-left:-54px}.explore.explore--module .paper-surface{border:1px solid var(--border);background:var(--surface);color:var(--fg);box-shadow:0 10px 22px -16px color-mix(in srgb, var(--fg) 35%, transparent);border-radius:5px;padding:8px 8px 9px}.explore.explore--module .paper-surface:after{display:none}.explore.explore--module .paper-meta{color:var(--explore-muted);text-transform:uppercase;flex-direction:column;align-items:flex-start;gap:.15rem;font-size:.5rem}.explore.explore--module .paper-meta>span:last-child{color:color-mix(in srgb, var(--dim) 82%, var(--fg));white-space:normal;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-weight:500;display:-webkit-box}.explore.explore--module .paper-title{color:var(--fg);-webkit-line-clamp:2;line-clamp:2;margin-top:.45rem;font-size:.7rem}.explore.explore--module .paper-description{color:var(--explore-muted);opacity:.85;-webkit-line-clamp:2;line-clamp:2;margin-top:.35rem;font-size:.52rem}.explore.explore--module .paper:hover .paper-surface,.explore.explore--module .paper:focus-within .paper-surface,.explore.explore--module .paper.is-selected .paper-surface{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));box-shadow:0 14px 28px -14px color-mix(in srgb, var(--accent) 28%, transparent), 0 0 0 1px color-mix(in srgb, var(--accent) 12%, transparent)}.explore.explore--module .paper.is-selected .paper-surface{border-color:var(--accent)}.explore.explore--module .paper-select:focus-visible{outline-color:var(--accent)}@media (width<=520px){.explore.explore--module .paper{width:94px;height:118px;margin-top:-59px;margin-left:-47px}}.year-timeline{width:100%;min-width:0}.year-group{grid-template-columns:8.5rem minmax(0,1fr);gap:1.75rem;margin:0;display:grid}.year-group[hidden]{display:none!important}.year-label{top:var(--year-sticky-top,17.5rem);z-index:2;color:var(--listing-muted,color-mix(in srgb, var(--dim) 65%, var(--fg)));font:500 1.35rem/1 var(--font-sans);letter-spacing:-.035em;scroll-margin-top:var(--year-sticky-top,17.5rem);background:0 0;border:0;align-self:start;margin:0;padding:.1rem 0 0;transition:color .2s;position:sticky}.year-label.is-active{color:var(--accent);font-weight:600}.year-posts,.year-entries{border-left:1px solid var(--border);margin:0;padding:1.8rem 0 2rem 2rem;list-style:none}.year-group:last-child .year-posts,.year-group:last-child .year-entries{padding-bottom:0}.timeline-item{position:relative}.timeline-item:before{content:"";border:1px solid var(--dim);background:var(--bg);z-index:1;border-radius:50%;width:7px;height:7px;transition:border-color .2s,background .2s;position:absolute;top:1.18rem;left:calc(-2rem - 4px)}.timeline-item:hover:before,.timeline-item:focus-within:before{border-color:var(--accent);background:var(--accent)}.timeline-entry{color:inherit;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem;padding:.85rem .7rem 1.2rem 0;display:grid;position:relative}.timeline-item:not([hidden]) .timeline-entry{border-bottom:1px solid var(--border)}.timeline-item:not([hidden]):not(:has(~.timeline-item:not([hidden]))) .timeline-entry{border-bottom:0}.timeline-entry:hover{opacity:1}.timeline-entry-aside{width:8.5rem;color:var(--fg);opacity:.7;font:.7rem/1.5 var(--font-mono);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;padding-top:.17rem;position:absolute;left:-12.25rem}.timeline-entry-type{font:600 .68rem / 1.4 var(--font-mono);text-transform:uppercase;letter-spacing:.04em}.timeline-entry-scope{color:var(--listing-muted,color-mix(in srgb, var(--dim) 65%, var(--fg)));font:500 .62rem / 1.35 var(--font-mono);text-transform:uppercase;letter-spacing:.04em}.timeline-entry-copy{grid-column:1;gap:.25rem;min-width:0;max-width:72ch;display:grid}.timeline-entry-title{color:var(--fg);letter-spacing:-.018em;text-wrap:pretty;font-size:1.05rem;font-weight:600;line-height:1.4;transition:color .2s}.timeline-entry:hover .timeline-entry-title,.timeline-entry:focus-visible .timeline-entry-title{color:var(--accent)}.timeline-entry-desc{max-width:64ch;color:var(--fg);opacity:.75;font-size:.8rem;line-height:1.6}.timeline-entry-action{color:var(--fg);opacity:.7;font:.68rem/1.5 var(--font-mono);white-space:nowrap;grid-column:2;align-items:center;gap:.2rem;padding-top:.2rem;display:inline-flex}.timeline-entry-action svg{transition:transform .2s}.timeline-entry:hover .timeline-entry-action svg,.timeline-entry:focus-visible .timeline-entry-action svg{transform:translate(3px)}.timeline-entry.has-thumb{grid-template-columns:minmax(0,1fr) auto clamp(8.5rem,15vw,12rem);column-gap:1.25rem}.timeline-entry.has-thumb .listing-thumb{grid-area:1/3/span 2;align-self:start}@media (width<=760px){.year-group{grid-template-columns:5.5rem minmax(0,1fr);gap:1rem}.year-label{padding-top:.85rem}.year-posts,.year-entries{padding:0 0 2rem 1.5rem}.timeline-item:before{left:calc(-1.5rem - 4px)}.timeline-entry{grid-template-columns:minmax(0,1fr) auto;gap:.2rem .75rem}.timeline-entry-aside{text-align:left;grid-area:1/1;width:auto;position:static}.timeline-entry-copy{grid-area:2/1/auto/-1}.timeline-entry-action{grid-area:1/2;justify-self:end;padding:0}.timeline-entry.has-thumb{grid-template-columns:minmax(0,1fr) auto}.timeline-entry.thumb-full .listing-thumb{grid-area:2/1/auto/-1;margin:.35rem 0 .4rem}.timeline-entry.thumb-full .timeline-entry-copy{grid-row:3}.timeline-entry.thumb-compact .listing-thumb{grid-area:2/2;width:6.5rem;margin-top:.2rem}.timeline-entry.thumb-compact .timeline-entry-copy{grid-column:1}}@media (width<=520px){.year-group{display:block}.year-group:not(:last-child){margin-bottom:.625rem}.year-label{margin-inline:calc(0px - var(--gutter));padding:.625rem var(--gutter) .65rem;background:var(--bg);margin-bottom:.625rem;font-size:1.15rem}.year-label.is-stuck{box-shadow:0 1px 0 var(--border), 0 10px 16px -14px #0000008c}.year-posts,.year-entries{margin-left:.2rem;padding:0 0 0 1.3rem}.timeline-item:before{top:1.06rem;left:calc(-1.3rem - 4px)}.timeline-entry{padding:.8rem 0 1.05rem}.timeline-entry-title{font-size:.98rem}.timeline-entry-desc{font-size:.78rem}.timeline-entry-action{align-self:start;padding-top:.05rem;font-size:.62rem}}@media (prefers-reduced-motion:reduce){.timeline-entry-action svg,.timeline-entry-title,.timeline-item:before{transition:none}.timeline-entry:hover .timeline-entry-action svg,.timeline-entry:focus-visible .timeline-entry-action svg{transform:none}.year-label{transition:none}}.page-header{margin-bottom:0}.page-header p{max-width:42rem;color:var(--listing-muted,color-mix(in srgb, var(--dim) 65%, var(--fg)));margin-top:.35rem;font-size:.9rem}.header-intro{min-width:0}.header-controls-sentinel{pointer-events:none;height:1px;margin:0}.listing-header-scroll-spacer{pointer-events:none;visibility:hidden;border:0;height:0;margin:0;padding:0}.header-controls{z-index:20;background:color-mix(in srgb, var(--bg) 94%, transparent);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);margin-bottom:2rem;padding:1.5rem 0 1.1rem;position:sticky;top:3.5rem}.header-controls-compact-meta{flex:auto;align-items:center;gap:.65rem .85rem;min-width:0;display:none}.header-controls.is-collapsed .header-controls-compact-meta{display:flex}.header-toolbar-row{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:.75rem 1.5rem;display:flex}.header-controls:not(.is-collapsed){grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"toolbar actions""filters filters";gap:.75rem 1.5rem;display:grid}.header-controls:not(.is-collapsed) .header-bottom{display:none}.header-controls:not(.is-collapsed) .header-controls-expandable,.header-controls:not(.is-collapsed) .header-toolbar-row{display:contents}.header-controls:not(.is-collapsed) .header-toolbar{grid-area:toolbar;align-self:end}.header-controls:not(.is-collapsed) .header-actions{grid-area:actions;align-self:end}.header-controls:not(.is-collapsed) .header-filters{grid-area:filters}.header-controls.is-collapsed:not(.is-pinned){grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"compact actions";align-items:center;gap:.65rem .85rem;display:grid}.header-controls.is-collapsed:not(.is-pinned) .header-bottom{grid-area:compact;min-width:0}.header-controls.is-collapsed:not(.is-pinned) .header-controls-expandable,.header-controls.is-collapsed:not(.is-pinned) .header-toolbar-row{display:contents}.header-controls.is-collapsed:not(.is-pinned) .header-toolbar,.header-controls.is-collapsed:not(.is-pinned) .header-filters{display:none}.header-controls.is-collapsed:not(.is-pinned) .header-actions{grid-area:actions;align-self:center}.header-controls-summary{min-width:0;color:var(--listing-muted,color-mix(in srgb, var(--dim) 65%, var(--fg)));font:600 .68rem / 1.35 var(--font-mono);letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;flex:auto;margin:0;display:none;overflow:hidden}.header-controls.is-collapsed:not(.is-pinned) .header-controls-summary{display:block}.header-controls-expand{border:1px solid var(--border);min-height:44px;color:var(--fg);font:600 .72rem / 1 var(--font-sans);cursor:pointer;background:0 0;border-radius:4px;flex:none;padding:.4rem .75rem}.header-controls-expand:hover{border-color:var(--accent);color:var(--accent)}.header-controls-expand:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.header-controls.is-collapsed{padding-block:.55rem .65rem}.header-controls-expandable{transition:none}.header-controls.is-collapsed.is-pinned{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"compact compact""toolbar actions""filters filters";gap:.75rem 1.5rem;display:grid}.header-controls.is-collapsed.is-pinned .header-bottom,.header-controls.is-collapsed.is-pinned .header-controls-expandable{display:contents}.header-controls.is-collapsed.is-pinned .header-controls-compact-meta{grid-area:compact;width:100%;display:flex}.header-controls.is-collapsed.is-pinned .header-toolbar-row{display:contents}.header-controls.is-collapsed.is-pinned .header-toolbar{grid-area:toolbar;align-self:end}.header-controls.is-collapsed.is-pinned .header-actions{grid-area:actions;align-self:end}.header-controls.is-collapsed.is-pinned .header-filters{grid-area:filters}.header-bottom{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:.75rem 1.5rem;display:flex}.header-toolbar{flex-wrap:wrap;flex:auto;align-items:center;gap:.75rem 1.5rem;min-width:0;display:flex}.header-actions{flex:none;align-items:end;display:flex}.listing-filter-nav{scrollbar-width:none;flex-wrap:wrap;gap:.4rem .55rem;margin-top:1rem;display:flex;overflow-x:auto}.listing-filter-nav::-webkit-scrollbar{display:none}.listing-filter-nav[hidden]{display:none}.listing-filter-nav button{border:1px solid var(--border);min-height:38px;color:var(--listing-muted,color-mix(in srgb, var(--dim) 65%, var(--fg)));font:.7rem/1 var(--font-mono);cursor:pointer;background:0 0;border-radius:2px;flex:none;padding:.35rem .65rem;transition:border-color .15s,color .15s,background-color .15s}.listing-filter-nav button:hover,.listing-filter-nav button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.listing-filter-nav button[aria-pressed=true]{background:color-mix(in srgb, var(--accent) 10%, var(--bg))}.listing-results{min-width:0}::view-transition-group(listing-results){animation-duration:.18s}::view-transition-old(listing-results){animation:90ms ease-out both listing-leave}::view-transition-new(listing-results){animation:.18s cubic-bezier(.16,1,.3,1) both listing-enter}@keyframes listing-leave{to{opacity:0}}@keyframes listing-enter{0%{opacity:0}to{opacity:1}}:is(.projects-page,.blog-view){scrollbar-color:var(--dim) var(--bg)}:is(.projects-page,.blog-view) ::selection{color:var(--fg);background:color-mix(in srgb, var(--accent) 28%, var(--bg))}:is(.projects-page,.blog-view) :is(button,a){touch-action:manipulation}:is(.projects-page,.blog-view) :is(.timeline-entry,.post,.project-row):focus-visible{outline-offset:4px;background:color-mix(in srgb, var(--accent) 5%, var(--bg));border-radius:2px}.listing-filter-nav button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.listing-filter-count{color:var(--listing-muted,color-mix(in srgb, var(--dim) 65%, var(--fg)));font:.68rem/1.3 var(--font-mono);white-space:nowrap;font-variant-numeric:tabular-nums;align-self:center;margin-inline-start:auto}.category-filters{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;display:flex}.category-filters .category-nav{flex:auto;min-width:0}.category-filters .listing-filter-count{margin-top:1rem}@media (width<=639px){.category-filters{display:block}.category-filters .listing-filter-count{margin-top:.5rem;display:block}}.listing-filter-grid{flex:100%;grid-template-columns:minmax(0,1fr) auto;gap:.45rem 1rem;min-width:0;display:grid}.listing-filter-grid[hidden]{display:none}.filter-group{align-items:center;gap:.75rem;min-width:0;display:flex}.filter-label{color:var(--listing-muted,color-mix(in srgb, var(--dim) 65%, var(--fg)));font:.68rem/1.4 var(--font-mono);text-transform:uppercase;letter-spacing:.05em;flex:0 0 4.25rem}.filter-options{flex-wrap:wrap;gap:.4rem .55rem;display:flex}.listing-filter-grid .listing-filter-count{grid-area:1/2/3;align-self:end;padding-bottom:.9rem}@media (width<=639px){.header-controls{top:calc(52px + env(safe-area-inset-top));margin-bottom:0;padding:.75rem 0 .8rem}.header-controls.is-collapsed{padding-block:.45rem .55rem}.header-controls.is-collapsed .header-bottom{flex-wrap:wrap}.header-controls-summary{flex:100%}.header-bottom{flex-direction:column;align-items:stretch;gap:.7rem}.listing-filter-nav{flex-wrap:nowrap;margin-inline:-3px;padding:3px}.listing-filter-grid{grid-template-columns:minmax(0,1fr);gap:.65rem}.listing-filter-grid .filter-group{display:block}.listing-filter-grid .filter-label{margin-bottom:.35rem;display:block}.listing-filter-grid .listing-filter-count{grid-area:auto/1;padding:.15rem 0 0}.view-switch{width:fit-content}.view-switch button{flex:none;min-width:4.5rem;min-height:38px;padding:.3rem .6rem}}.list-sort-nav{flex:auto;align-items:center;gap:.75rem;min-width:0;display:none}.sort-label{color:var(--listing-muted,color-mix(in srgb, var(--dim) 65%, var(--fg)));font:.68rem/1.4 var(--font-mono);text-transform:uppercase;letter-spacing:.05em;flex:none}.sort-options{isolation:isolate;border:1px solid var(--border);background:var(--surface);border-radius:8px;flex:none;gap:2px;padding:3px;display:inline-flex;position:relative}.sort-options:before{content:"";inline-size:var(--sort-highlight-width,2.75rem);background:var(--bg);transform:translateX(var(--sort-highlight-offset,0px));pointer-events:none;z-index:0;border-radius:5px;transition:transform .3s cubic-bezier(.18,.82,.23,1),inline-size .3s cubic-bezier(.18,.82,.23,1);position:absolute;inset-block:3px;inset-inline-start:3px;box-shadow:0 1px 3px #00000029}.sort-options button{z-index:1;min-width:3.25rem;min-height:32px;color:var(--listing-muted,color-mix(in srgb, var(--dim) 65%, var(--fg)));font:600 .72rem/1 var(--font-mono);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:.35rem .7rem;position:relative}.sort-options button[aria-pressed=true]{color:var(--fg)}.sort-options button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.year-nav,.type-nav{flex-wrap:wrap;flex:auto;gap:.35rem 1rem;min-width:0;display:flex;position:relative}.year-nav:after,.type-nav:after{content:"";inline-size:var(--jump-highlight-width,var(--year-highlight-width,0px));background:var(--accent);block-size:2px;transform:translateX(var(--jump-highlight-x,var(--year-highlight-x,0px)));pointer-events:none;transition:transform .3s cubic-bezier(.18,.82,.23,1),inset-block-start .3s,inline-size .3s;position:absolute;inset-block-start:var(--jump-highlight-y,var(--year-highlight-y,0px));inset-inline-start:0}.year-nav a,.type-nav a{border-bottom:1px solid var(--border);color:var(--fg);opacity:.75;font:.72rem/1.5 var(--font-mono);font-variant-numeric:tabular-nums;padding:.35rem 0;transition:border-color .2s,color .2s}.year-nav a:hover,.type-nav a:hover{opacity:1;border-color:var(--accent);color:var(--accent)}.year-nav a.is-active,.type-nav a.is-active{opacity:1;color:var(--accent);border-color:#0000}.year-nav a.is-disabled,.type-nav a.is-disabled{opacity:.3;color:var(--listing-muted,color-mix(in srgb, var(--dim) 65%, var(--fg)));cursor:not-allowed;pointer-events:none;border-bottom-style:dotted}.view-switch{isolation:isolate;border:1px solid var(--border);background:var(--surface);border-radius:8px;flex:none;gap:2px;padding:3px;display:inline-flex;position:relative}.view-switch:before{content:"";inline-size:var(--view-highlight-width,6rem);background:var(--bg);transform:translateX(var(--view-highlight-offset,0px));pointer-events:none;z-index:0;border-radius:5px;transition:transform .3s cubic-bezier(.18,.82,.23,1);position:absolute;inset-block:3px;inset-inline-start:3px;box-shadow:0 1px 3px #00000029}.view-switch[hidden]{display:none}.view-switch button{z-index:1;min-width:6rem;min-height:38px;color:var(--listing-muted,color-mix(in srgb, var(--dim) 65%, var(--fg)));font:600 .75rem/1 var(--font-sans);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:.4rem .85rem;position:relative}.view-switch button[aria-pressed=true]{color:var(--fg)}.view-switch button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media (width<=639px){.header-controls:not(.is-collapsed),.header-controls.is-collapsed.is-pinned{grid-template-columns:minmax(0,1fr);grid-template-areas:"toolbar""actions""filters";row-gap:.65rem}.header-controls.is-collapsed.is-pinned{grid-template-areas:"compact""toolbar""actions""filters"}.header-controls.is-collapsed:not(.is-pinned){grid-template-columns:minmax(0,1fr);grid-template-areas:"compact""actions"}.view-switch button{min-width:4.5rem;padding-inline:.65rem}}@media (pointer:coarse){.listing-filter-nav button,.view-switch button,.sort-options button,.year-nav a{min-height:44px}.year-nav a{align-items:center;display:inline-flex}}.explore-panel{display:none}.listing-filter-grid.listing-filter-nav{margin-top:1rem;display:grid;overflow:visible}.project-filters.listing-filter-nav button{min-height:44px}@media (prefers-reduced-motion:reduce){::view-transition-group(listing-results),::view-transition-old(listing-results),::view-transition-new(listing-results){animation:none}.listing-filter-nav button,.view-switch:before,.sort-options:before,.year-nav:after,.type-nav:after,.header-controls-expandable{transition:none}}::view-transition-group(.listing-item){animation-duration:.25s;animation-timing-function:cubic-bezier(.16,1,.3,1)}:root.listing-transition::view-transition{pointer-events:none}[data-listing-motion] .year-group{view-timeline:--listing-year block}[data-listing-motion] .year-posts{position:relative}[data-listing-motion] .year-posts:before{content:"";background:var(--accent);transform-origin:top;pointer-events:none;width:1px;position:absolute;inset:0 auto 0 -1px}[data-listing-motion] .year-label:after{content:"";background:var(--border);transform-origin:0;width:1.4em;height:1px;margin-top:.5rem;transition:transform .16s ease-out,background-color .16s ease-out;display:block;transform:scaleX(.5)}[data-listing-motion] .year-label.is-active:after{background:var(--accent);transform:scaleX(1)}[data-listing-motion] .globe-axis,[data-listing-motion] .paper-globe{transition:transform .42s cubic-bezier(.16,1,.3,1)}[data-listing-motion] .globe-stage.is-dragging :is(.globe-axis,.paper-globe){transition:none}@media (width<=639px){[data-listing-motion] .header-controls.is-collapsed:not(.is-pinned){grid-template-columns:auto minmax(0,1fr);grid-template-areas:"summary summary""expand actions";column-gap:8px}[data-listing-motion] .header-controls.is-collapsed:not(.is-pinned) .header-bottom,[data-listing-motion] .header-controls.is-collapsed:not(.is-pinned) .header-controls-compact-meta{display:contents}[data-listing-motion] .header-controls-summary{grid-area:summary}[data-listing-motion] .header-controls-expand{grid-area:expand;padding-inline:10px}[data-listing-motion] .header-actions{min-width:0;max-width:100%}[data-listing-motion] .view-switch{width:100%;max-width:100%}[data-listing-motion] .view-switch button{overflow-wrap:anywhere;flex:1 1 0;min-width:0;padding-inline:4px}[data-listing-motion] .list-sort-nav{flex-wrap:wrap}[data-listing-motion][data-mobile-filter-sheet][data-view=timeline] .header-controls.is-collapsed:not(.is-pinned){grid-template-areas:"summary summary""expand actions""toolbar toolbar"}[data-listing-motion][data-mobile-filter-sheet][data-view=timeline] .header-controls.is-collapsed:not(.is-pinned) .header-toolbar{grid-area:toolbar;display:flex}}@keyframes listing-year-connect{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()) and (view-timeline:--listing-year block) and (animation-range:entry 0% cover 45%){[data-listing-motion] .year-posts:before{animation:var(--listing-year-animation,listing-year-connect linear both);animation-timeline:--listing-year;animation-range:entry cover 45%}}}@media (prefers-reduced-motion:reduce){[data-listing-motion] .globe-axis,[data-listing-motion] .paper-globe,[data-listing-motion] .year-label:after{transition:none}}@media (forced-colors:active){[data-listing-motion] .year-posts:before,[data-listing-motion] .year-label:after{background:canvastext}}.listing-filter-sheet{box-sizing:border-box;overscroll-behavior:contain;background:var(--bg);width:100%;max-width:none;height:100dvh;max-height:none;color:var(--fg);border:0;border-radius:0;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.listing-filter-sheet[open]{grid-template-rows:auto minmax(0,1fr) auto;display:grid}.listing-filter-sheet:not([open]){display:none}.listing-filter-sheet::backdrop{background:var(--bg);overscroll-behavior:contain;overflow:hidden}.listing-filter-sheet-header,.listing-filter-sheet-body,.listing-filter-sheet-footer{padding-inline:max(20px, env(safe-area-inset-left)) max(20px, env(safe-area-inset-right));min-width:0}.listing-filter-sheet-header{padding-block:max(16px, env(safe-area-inset-top)) 16px;border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.listing-filter-sheet-header h2{color:var(--fg);font:700 1.5rem/1.2 var(--font-sans);letter-spacing:0;text-transform:none;border:0;margin:0;padding:0}.listing-filter-sheet-body{overscroll-behavior:contain;scrollbar-color:var(--border) var(--bg);min-height:0;padding-block:32px;overflow-y:auto}.listing-filter-sheet .listing-filter-grid{grid-template-columns:minmax(0,1fr);gap:2rem;margin:0;padding:0;display:grid;overflow:visible}.listing-filter-sheet .filter-group{display:block}.listing-filter-sheet .filter-label,.listing-filter-sheet .sort-label{margin-bottom:.75rem;font-size:.75rem;display:block}.listing-filter-sheet .filter-options{gap:.6rem}.listing-filter-sheet .filter-options button{min-height:44px;padding:.65rem .85rem;font-size:.85rem}.listing-filter-sheet .category-filters{gap:1.5rem;display:grid}.listing-filter-sheet .category-nav{flex-wrap:wrap;gap:.6rem;margin:0;padding:0;overflow:visible}.listing-filter-sheet .category-nav button{overflow-wrap:anywhere;min-width:0;max-width:100%;min-height:44px;padding:.65rem .85rem;font-size:.85rem;line-height:1.4}.listing-filter-sheet .category-filters .listing-filter-count{margin:0}.listing-filter-sheet .listing-filter-count{grid-area:auto/1;padding:0;font-size:.75rem}.listing-filter-sheet .list-sort-nav{flex-direction:column;align-items:start;gap:0;margin-top:2rem}.listing-filter-sheet .sort-options button{min-width:4rem;min-height:44px;font-size:.85rem}.listing-filter-sheet-footer{padding-block:16px max(16px, env(safe-area-inset-bottom));border-top:1px solid var(--border);gap:10px;display:grid}.listing-filter-sheet-header button,.listing-filter-sheet-footer button{border:1px solid var(--border);min-width:0;max-width:100%;min-height:44px;color:var(--fg);font:600 .9rem/1.4 var(--font-sans);cursor:pointer;overflow-wrap:anywhere;background:0 0;border-radius:4px;padding:10px 14px}.listing-filter-sheet-footer .listing-filter-sheet-show{background:var(--accent);border-color:var(--accent);color:var(--bg)}.listing-filter-sheet-header button:hover,.listing-filter-sheet-clear:hover{border-color:var(--accent);color:var(--accent)}.listing-filter-sheet-show:hover{background:color-mix(in srgb, var(--accent) 85%, var(--fg))}.listing-filter-sheet button:active{filter:brightness(.92)}.listing-filter-sheet button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.listing-filter-sheet-show:focus-visible{outline-offset:4px}@media (forced-colors:active){.listing-filter-sheet-footer .listing-filter-sheet-show{color:buttontext;background:buttonface;border-color:buttontext}}.listing-thumb{border:1px solid var(--border);background:var(--surface);border-radius:4px;width:100%;display:block;overflow:hidden}.listing-thumb--project{aspect-ratio:16/10}.listing-thumb--post{aspect-ratio:1200/630}.listing-thumb img{object-fit:cover;object-position:top center;width:100%;height:100%;transition:transform .45s cubic-bezier(.2,.7,.2,1);display:block}a:is(:hover,:focus-visible) .listing-thumb img{transform:scale(1.04)}@media (prefers-reduced-motion:reduce){.listing-thumb img{transition:none}}
