.gear-plate{background-color:var(--surface);background-image:radial-gradient(in oklch 85% 70% at 50% 30%, oklch(from var(--text) l c h / .07), transparent 70%), repeating-linear-gradient(45deg, oklch(from var(--text) l c h / .03) 0 1px, transparent 1px 7px), repeating-linear-gradient(-45deg, oklch(from var(--text) l c h / .02) 0 1px, transparent 1px 7px)}.gear-tilt{perspective:700px}.gear-tile{aspect-ratio:1;border:1px solid var(--line);border-radius:var(--radius);backface-visibility:hidden;position:relative}.gear-tile:after{content:"";border-radius:var(--radius);pointer-events:none;opacity:0;box-shadow:inset 0 0 0 1px oklch(from var(--accent) l c h / .55), 0 0 32px 2px var(--glow);transition:opacity var(--duration-ui-slow) var(--ease-quart);position:absolute;inset:-1px}.gear-card:focus-visible .gear-tile:after{opacity:1}.gear-card:has(:focus-visible) .gear-tile:after{opacity:1}@media (hover:hover) and (pointer:fine){.gear-card:hover .gear-tile:after{opacity:1}}[data-gear-grid][data-filter=edc]>li:not([data-category=edc]),[data-gear-grid][data-filter=travel]>li:not([data-category=travel]),[data-gear-grid][data-filter=tech]>li:not([data-category=tech]),[data-gear-grid][data-filter=diving]>li:not([data-category=diving]),[data-gear-grid][data-filter=car-care]>li:not([data-category=car-care]),.gear-empty{display:none}[data-gear-grid][data-filter=edc]~.gear-empty[data-for=edc],[data-gear-grid][data-filter=travel]~.gear-empty[data-for=travel],[data-gear-grid][data-filter=tech]~.gear-empty[data-for=tech],[data-gear-grid][data-filter=diving]~.gear-empty[data-for=diving],[data-gear-grid][data-filter=car-care]~.gear-empty[data-for=car-care]{display:flex}.lb-stage{position:relative}.lb-stage[data-view=flat]{aspect-ratio:var(--lb-ratio,4 / 3);max-width:min(100%, calc(80svh * var(--lb-ar,1.333)));border:1px solid var(--line);border-radius:var(--radius);width:100%;margin-inline:auto}.lb-plate{border-radius:var(--radius);pointer-events:none;opacity:1;transition:opacity var(--duration-ui) var(--ease-quart);position:absolute;inset:0;overflow:hidden}.lb-stage[data-view=grid] .lb-plate{opacity:0}.lb-items{margin:0;padding:0;list-style:none}.lb-stage[data-view=flat] .lb-items{position:absolute;inset:0}.lb-stage[data-view=grid] .lb-items{gap:var(--gutter);grid-template-columns:repeat(auto-fill,minmax(min(100%,14.5rem),1fr));display:grid}.lb-item{left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);width:var(--tap);height:var(--tap);margin:calc(var(--tap) / -2) 0 0 calc(var(--tap) / -2);position:absolute}.lb-stage[data-view=grid] .lb-item{width:auto;height:auto;margin:0;position:relative;top:auto;left:auto}.lb-item[data-open]{z-index:var(--z-raised)}.lb-item:before{content:"";border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);opacity:0;pointer-events:none;transition:opacity .2s var(--ease-quart);position:absolute;inset:0}.lb-stage[data-view=grid] .lb-item:before,.lb-stage[data-morph] .lb-item:before{opacity:1}.lb-stage[data-view=grid] .lb-spot,.lb-stage[data-view=grid] .lb-pop,.lb-stage[data-view=flat] .lb-card{display:none}.lb-spot{cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;inset:0}.lb-spot:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.lb-dot{background:var(--text);width:24px;height:24px;color:var(--bg);font-family:var(--font-family-mono);font-variant-numeric:tabular-nums;box-shadow:0 0 0 4px var(--scrim);transition:transform var(--duration-fast) var(--ease-quart), background-color var(--duration-fast) var(--ease-quart);place-items:center;font-size:11px;font-weight:600;line-height:1;display:grid;position:relative}.lb-name{display:none}@media (hover:hover) and (pointer:fine) and (min-width:46rem){.lb-stage[data-view=flat] .lb-name{background:var(--scrim);width:max-content;max-width:14rem;color:var(--text);font-size:var(--fs-small);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;border-radius:var(--radius);padding:2px 8px;line-height:1.3;display:block;position:absolute;top:50%;left:calc(50% + 20px);overflow:hidden;translate:0 -50%}.lb-name[data-h=end]{left:auto;right:calc(50% + 20px)}}.lb-dot:after{content:"";border:1px solid var(--accent);opacity:0;pointer-events:none;position:absolute;inset:-1px}.lb-spot[aria-expanded=true] .lb-dot{background:var(--accent);transform:scale(1.15)}@media (hover:hover) and (pointer:fine){.lb-spot:hover .lb-dot{transform:scale(1.25)}}@media (prefers-reduced-motion:no-preference){.lb-stage[data-entered] .lb-dot:after{animation:lb-pulse 1.4s var(--ease-quart) calc(var(--i) * .14s) 1 forwards}}@keyframes lb-pulse{0%{opacity:.85;transform:scale(1)}to{opacity:0;transform:scale(2.6)}}.lb-pop{--ox:50%;--oy:top;z-index:1;width:min(16rem, calc(100vw - 2 * var(--gutter)));background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);opacity:0;visibility:hidden;transform-origin:var(--ox) var(--oy);padding:1rem;transition:opacity .16s ease-out,transform .16s ease-out,visibility 0s linear .16s;position:absolute;transform:scale(.96)}.lb-item[data-open] .lb-pop{opacity:1;visibility:visible;transition-delay:0s;transform:none}.lb-pop[data-v=below]{--oy:top;top:calc(100% + .25rem)}.lb-pop[data-v=above]{--oy:bottom;bottom:calc(100% + .25rem)}.lb-pop[data-h=start]{--ox:calc(var(--tap) / 2);left:0}.lb-pop[data-h=end]{--ox:calc(100% - var(--tap) / 2);right:0}.lb-pop[data-h=center]{--ox:50%;left:50%;translate:-50%}@media (prefers-reduced-motion:reduce){.lb-pop{transition-duration:.1s;transform:none}}.lb-specs{background:var(--scrim);opacity:0;transition:opacity var(--duration-ui) var(--ease-quart), transform var(--duration-ui) var(--ease-quart);pointer-events:none;padding:.75rem;position:absolute;inset:auto 0 0;transform:translateY(6px)}@media (hover:hover) and (pointer:fine){.lb-card:hover .lb-specs{opacity:1;transform:none}.lb-card:has(:focus-visible) .lb-specs{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.lb-specs{transform:none}}.lb-stage[data-fade]{animation:.15s ease-out lb-fade}@keyframes lb-fade{0%{opacity:0}to{opacity:1}}.lb-card:has(a:focus-visible){outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius)}
