.filter-group.svelte-1a7f1q6{flex-direction:column;gap:.55rem;min-width:0;display:flex;&>label:where(.svelte-1a7f1q6){color:var(--text-bright);font-family:var(--font-display);font-size:.9rem}& .select-trigger:where(.svelte-1a7f1q6){box-sizing:border-box;border:1px solid var(--border);background:color-mix(in oklch, var(--card-bg), #000 18%);width:100%;min-height:2.85rem;color:var(--text-bright);cursor:pointer;font:inherit;text-align:left;border-radius:.65rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.72rem .85rem;display:flex;&:after{content:"▾";flex:none}}&:has(.select-menu:where(.svelte-1a7f1q6):popover-open) .select-trigger:where(.svelte-1a7f1q6):after{transform:rotate(180deg)}}.select-menu.svelte-1a7f1q6{box-sizing:border-box;width:anchor-size(width);border:1px solid var(--border-bright);position-area:block-end span-inline-end;position-try-fallbacks:flip-block;background:var(--card-bg);max-width:calc(100vw - 2rem);max-height:min(20rem,60vh);color:var(--text-bright);border-radius:.65rem;margin:.4rem 0;padding:.35rem;overflow-y:auto;box-shadow:0 .8rem 2rem #00000059;&:popover-open{flex-direction:column;gap:.2rem;display:flex}& button:where(.svelte-1a7f1q6){width:100%;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:.45rem;padding:.65rem .85rem;&:hover,&[aria-pressed=true]{background:#ffffff14}}}html[data-theme=light]{& .select-trigger.svelte-1a7f1q6{color:#000;background:#e7e6e6f2;border:2px solid #000}& .select-menu.svelte-1a7f1q6{color:#000;background:#e7e6e6;border:2px solid #000;& button:where(.svelte-1a7f1q6):hover,& button[aria-pressed=true]:where(.svelte-1a7f1q6){background:#0000001a}}}.filters.svelte-k6wpgr{min-height:var(--projects-filter-height);padding:var(--projects-filter-height) 0 0;flex-direction:column;gap:1rem;display:flex;@media screen and (width<=767px){min-height:0;padding:1rem 0 .5rem}& .mobile-filter-toggle:where(.svelte-k6wpgr){anchor-name:--mobile-filter-toggle;color:var(--text-muted);background:color-mix(in oklch, var(--accent-bright), black 14%);border:none;border-radius:50%;flex:0 0 2.5rem;justify-content:center;align-items:center;padding:0;display:none;@media screen and (width<=767px){z-index:30;top:calc(var(--nav-height) + 1rem);box-shadow:0 10px 24px color-mix(in oklch, var(--accent-bright), transparent 86%);width:44px;height:44px;display:inline-flex;position:fixed;right:5%;& svg:where(.svelte-k6wpgr){stroke-width:2px;width:2rem;height:2rem}}&:active,&[aria-expanded=true]{border-color:var(--border)}&:focus-visible{outline:2px solid var(--border);outline-offset:2px}}& .filter-backdrop:where(.svelte-k6wpgr){display:none;@media screen and (width<=767px){z-index:24;inset:var(--nav-height) 0 0;backdrop-filter:blur(3px);cursor:pointer;background:#00000094;border:0;display:block;position:fixed}}& .filter-form:where(.svelte-k6wpgr){z-index:20;top:var(--nav-height);width:min(calc(100% - 3rem), var(--page-content-width));background:var(--bg);grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:1rem;padding:2rem 0 1rem;display:grid;position:fixed;left:50%;transform:translate(-50%);@media screen and (width<=940px) and (width>=768px){width:90%}@media screen and (width<=767px){z-index:25;position-anchor:--mobile-filter-toggle;top:calc(anchor(bottom) + .75rem);width:auto;max-height:calc(100svh - var(--nav-height) - 5.25rem);border:1px solid color-mix(in oklch, var(--text-muted), black 50%);background:var(--card-bg);border-radius:.75rem;grid-template-columns:1fr;padding:1rem;left:5%;right:5%;overflow-y:auto;transform:none;box-shadow:0 .8rem 2rem #00000059;&[data-open=false]{display:none}}}& .filter-group:where(.svelte-k6wpgr){flex-direction:column;gap:.55rem;min-width:0;display:flex;& .filter-label:where(.svelte-k6wpgr){color:var(--text-bright);font-family:var(--font-display);font-size:.9rem}& summary:where(.svelte-k6wpgr){box-sizing:border-box;border:1px solid var(--border);background:color-mix(in oklch, var(--card-bg), #000 18%);width:100%;min-height:2.85rem;color:var(--text-bright);cursor:pointer;font:inherit;border-radius:.65rem;padding:.72rem .85rem}}& .library-dropdown:where(.svelte-k6wpgr){anchor-name:library-anchor;position:relative;& summary:where(.svelte-k6wpgr){justify-content:space-between;align-items:center;gap:.75rem;list-style:none;display:flex}& summary:where(.svelte-k6wpgr)::-webkit-details-marker{display:none}& summary:where(.svelte-k6wpgr):after{content:"▾";flex:none}&[open] summary:where(.svelte-k6wpgr):after{transform:rotate(180deg)}& .library-popover:where(.svelte-k6wpgr){z-index:1;box-sizing:border-box;border:1px solid var(--border-bright);background:var(--card-bg);max-height:min(20rem,60vh);color:var(--text-bright);border-radius:.65rem;flex-direction:column;gap:.55rem;padding:.6rem;display:flex;position:absolute;top:calc(100% + .4rem);left:0;right:0;overflow:hidden;box-shadow:0 .8rem 2rem #00000059;@media screen and (width<=767px){margin-top:.4rem;position:static}}}& svg:where(.svelte-k6wpgr){fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.8px;width:1rem;height:1rem}& .search-label:where(.svelte-k6wpgr){clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}& .library-search:where(.svelte-k6wpgr){box-sizing:border-box;border:1px solid var(--border);background:color-mix(in oklch, var(--card-bg), #000 22%);width:100%;color:var(--text-bright);font:inherit;border-radius:.5rem;padding:.7rem .75rem}& .library-options:where(.svelte-k6wpgr){flex-direction:column;flex:1;gap:.3rem;min-height:0;display:flex;overflow-y:auto;& .library-option:where(.svelte-k6wpgr){cursor:pointer;border-radius:.45rem;align-items:center;gap:.65rem;padding:.55rem .6rem;display:flex}& .library-option:where(.svelte-k6wpgr):hover{background:#ffffff0f}& .library-option:where(.svelte-k6wpgr) input:where(.svelte-k6wpgr){width:1rem;height:1rem;accent-color:var(--accent-bright);margin:0}}& .no-options:where(.svelte-k6wpgr){color:var(--text-muted);margin:0;padding:.5rem;font-size:.88rem}& .filter-actions:where(.svelte-k6wpgr),& .active-filters:where(.svelte-k6wpgr){flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}& .filter-chip:where(.svelte-k6wpgr){border:1px solid var(--border);color:var(--text-bright);cursor:pointer;font:inherit;background:#ffffff0f;border-radius:999px;align-items:center;gap:.45rem;padding:.48rem .7rem;font-size:.82rem;display:inline-flex;&:focus-visible{outline:2px solid var(--border);outline-offset:2px}}}html[data-theme=light] .filters.svelte-k6wpgr{& .filter-group:where(.svelte-k6wpgr){& summary:where(.svelte-k6wpgr),& .library-search:where(.svelte-k6wpgr){color:#000;background:#e7e6e6f2;border:2px solid #000}}& .library-popover:where(.svelte-k6wpgr){background:#e7e6e6;border:2px solid #000}& .mobile-filter-toggle:where(.svelte-k6wpgr),& .filter-chip:where(.svelte-k6wpgr){color:#fff;background:#464646;border:2px solid #000}}html{--projects-filter-height:8.5rem;scroll-padding-top:calc(var(--nav-height) + var(--projects-filter-height));@media screen and (width<=767px){scroll-padding-top:var(--nav-height)}@media screen and (width<=640px){scroll-snap-type:none}}.projects-page[data-astro-cid-3rkrlumz]{flex-direction:column;align-items:center;width:100%;display:flex;@media screen and (width<=640px){min-height:calc(100svh - var(--nav-height));justify-content:center}& .content-container{width:min(calc(100% - 3rem), var(--page-content-width));flex-direction:column;gap:1rem;margin:0 auto;padding-bottom:10dvh;display:flex;@media screen and (width<=770px){padding:0}& .projects-view{width:100%}& .project-container{grid-template-columns:repeat(3,minmax(0,1fr));gap:2em;width:100%;display:grid;& .project-item{display:contents;&[hidden]{display:none}&>[data-project-card]{scroll-snap-align:center}}@media screen and (width<=940px){grid-template-columns:repeat(2,minmax(0,1fr))}}@media screen and (width<=640px){& .projects-view{&>.carousel-fallback-navigation{scrollbar-width:none;justify-content:center;max-width:100%;display:flex;overflow-x:auto}}& .project-container{overscroll-behavior-inline:contain;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;gap:1rem;display:flex;overflow-x:auto;&::-webkit-scrollbar{display:none}&:focus-visible{outline:2px solid var(--accent-bright);outline-offset:3px}& .project-item{--project-card-image-ratio:60%;scroll-snap-align:start;scroll-snap-stop:always;flex:0 0 100%;display:block}}}& .empty-state{color:var(--text-muted);padding-bottom:1rem}@media screen and (width<=940px){gap:.5rem;width:90%}}}
