/* A single compact toolbar, with full-size controls in a quiet floating sheet. */
.collection-universal-filter{display:none}
.collection-filter-dialog{--filter-ink:#f3f3ef;--filter-paper:#111;position:fixed;inset:0;width:calc(100% - 24px);max-width:520px;max-height:calc(100dvh - 40px);margin:auto;padding:0;border:0;border-radius:22px;background:var(--filter-paper);color:var(--filter-ink);box-shadow:0 16px 70px #0002;overflow:hidden;font-family:var(--font-support)}
.collection-filter-dialog[open]{display:flex;flex-direction:column}
.collection-filter-dialog::backdrop{background:#10111055;backdrop-filter:blur(12px)}
body #collection-filter-dialog :is(.collection-filter-close,.filter-reset){border:0!important;background:transparent!important}
body #collection-filter-dialog :is(.collection-filter-done,.collection-scope button[aria-pressed="true"]){background:var(--filter-ink)!important;color:var(--filter-paper)!important;border:0}
body #collection-filter-dialog .collection-scope button{border:0!important}
body #collection-filter-dialog .collection-scope{border:1px solid #ffffff35!important;background:transparent!important;box-shadow:none!important;padding:2px}
body:has(#collection-filter-dialog[open]) :is(.cursor-metaball,.navigation-cursor-bubble){opacity:0!important}
body #collection-filter-dialog .collection-search input{border:0!important;background:transparent!important}
body #collection-filter-dialog .filter-options{background:transparent!important}
body #collection-filter-dialog .filter-options button{border:1px solid #ffffff30;border-radius:22px}
.collection-filter-dialog header,.collection-filter-dialog footer{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;flex:none}
.collection-filter-dialog header h2{margin:0;font:300 30px/1.1 var(--font-display);letter-spacing:-.04em}
.collection-filter-dialog .collection-filter-close{width:44px;height:44px;padding:0;border:0;background:transparent;color:inherit;font:300 30px/1 var(--font-support);border-radius:50%}
.collection-filter-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 22px 8px;scrollbar-width:thin}
.collection-filter-dialog .collection-scope{display:inline-flex!important;margin-bottom:20px;background:transparent;border:1px solid color-mix(in srgb,var(--filter-ink) 22%,transparent)}
.collection-filter-dialog .collection-scope button{color:var(--filter-ink);min-height:42px;font-weight:400}
.collection-filter-dialog .collection-scope button[aria-pressed="true"]{background:var(--filter-ink);color:var(--filter-paper)}
body.page-projects .collection-filter-dialog #collection-search-panel{position:relative;inset:auto;display:flex!important;flex-wrap:wrap;margin:0 0 16px;padding:0;width:100%;max-width:none;background:transparent;color:inherit;border-radius:0}
.collection-filter-dialog .collection-search{width:100%!important;max-width:none;border-bottom:1px solid color-mix(in srgb,var(--filter-ink) 25%,transparent);color:inherit!important}
.collection-filter-dialog #collection-search-panel input{color:var(--filter-ink)!important;font:300 16px/1.4 var(--font-support);min-height:44px}
.collection-filter-dialog #collection-search-panel input::placeholder{color:inherit;opacity:.6}
.collection-filter-dialog .filter-toggle,.collection-filter-dialog .collection-result{display:none!important}
.collection-filter-dialog .filter-reset{color:inherit;background:transparent;padding:8px 0;text-decoration:underline;text-underline-offset:4px;font-size:12px}
.collection-filter-dialog .project-search-suggestions{position:static;transform:none;max-height:210px;width:100%;box-sizing:border-box;border-radius:12px;padding:10px;background:var(--filter-ink);color:var(--filter-paper)}
.collection-filter-dialog .project-search-suggestions button{color:inherit;font-size:13px;min-height:40px}
body.page-projects .collection-filter-dialog .collection-facets{display:block!important;position:static;min-height:0;padding:0;background:transparent}
.collection-filter-dialog .filter-layer{width:100%;border-bottom:1px solid color-mix(in srgb,var(--filter-ink) 14%,transparent)}
body.page-projects .collection-filter-dialog .filter-layer summary{display:block;min-height:48px;padding:15px 26px 15px 0;box-sizing:border-box;font:400 14px/1.3 var(--font-support);border:0!important;border-radius:0;background:transparent!important;color:var(--filter-ink)!important}
.collection-filter-dialog .filter-layer summary::after{top:20px;right:5px;transition:rotate .2s}.collection-filter-dialog .filter-layer[open] summary::after{rotate:180deg}
.collection-filter-dialog .filter-layer.has-selection summary{font-weight:500!important}
body.page-projects .collection-filter-dialog .filter-options{position:static;width:auto;max-height:220px;overflow-y:auto;display:flex;flex-wrap:wrap;gap:6px;padding:0 0 14px;border:0;border-radius:0;background:transparent;box-shadow:none}
body.page-projects .collection-filter-dialog details:not([open]) .filter-options{display:none}
.collection-filter-dialog .filter-options button{min-height:40px;padding:10px 13px;background:color-mix(in srgb,var(--filter-ink) 7%,transparent);color:var(--filter-ink);font-size:13px}
.collection-filter-dialog .filter-options button[aria-pressed="true"]{background:var(--filter-ink);color:var(--filter-paper)}
.collection-filter-dialog .collection-chips{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:6px;max-height:none;margin-top:14px}
.collection-filter-dialog .collection-chips button{min-height:36px;border-radius:18px;background:var(--filter-ink);color:var(--filter-paper);padding:8px 12px}
.collection-filter-dialog .collection-zoom{display:flex;margin:20px 0 0;color:inherit;gap:14px}.collection-filter-dialog .collection-zoom input{flex:1;width:auto;accent-color:var(--filter-ink)}
.collection-filter-dialog .collection-pinch-hint{margin-top:8px;color:inherit;opacity:.6}.collection-filter-dialog .is-unavailable{display:none!important}
.collection-filter-dialog .collection-filter-done{width:100%;min-height:46px;border:0;border-radius:24px;background:var(--filter-ink);color:var(--filter-paper);font:400 14px var(--font-support)}
.collection-filter-dialog :is(button,summary,input):focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media(max-width:900px){
 #project-browser.has-mobile-filters{height:100dvh}
 #project-browser.has-mobile-filters .browser-toolbar{padding:2px 12px 8px}
 #project-browser.has-mobile-filters .browser-topline{flex-wrap:nowrap;justify-content:space-between;gap:8px;min-height:48px}
 #project-browser.has-mobile-filters .browser-view-switch{gap:2px;margin-left:auto!important}
 #project-browser.has-mobile-filters .browser-view-switch button{width:44px;height:44px;padding:10px;flex:none}
 #project-browser.has-mobile-filters .browser-view-switch .collection-search-toggle{display:none}
 #project-browser.has-mobile-filters .collection-universal-filter{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 13px;border:1px solid currentColor;border-radius:24px;color:var(--theme-ink,#20221e);background:transparent;font:400 12px/1.2 var(--font-support);white-space:nowrap}
 .collection-universal-filter svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.4}.collection-universal-filter circle{fill:var(--theme-base,#f1f1ef)}
 .collection-universal-filter small{font:inherit;font-variant-numeric:tabular-nums}
 #project-browser.has-mobile-filters .collection-universal-filter[aria-expanded="true"]{background:var(--theme-ink,#20221e);color:var(--theme-base,#f1f1ef)}
 #project-browser.has-mobile-filters[data-view="rotunda"] .rotunda-stage{height:auto;min-height:0;flex:1}
 #project-browser.has-mobile-filters[data-view="rotunda"] :is(.rotunda-card,.rotunda-copy){top:50%;max-height:calc(100% - 24px)}
 #project-browser.has-mobile-filters[data-view="grid"] .rotunda-track{padding:0 8px 12px}
 #project-browser.has-mobile-filters .project-list-view{padding:4px 8px 20px;min-height:0;flex:1}
 #project-browser.has-mobile-filters .project-globe{min-height:0;flex:1}
}
@media(max-width:350px){#project-browser.has-mobile-filters .browser-toolbar{padding-inline:8px}#project-browser.has-mobile-filters .collection-universal-filter{padding-inline:10px;gap:6px}#project-browser.has-mobile-filters .browser-view-switch{gap:0}}
@media(prefers-reduced-motion:reduce){.collection-filter-dialog *{transition:none!important}}
