:root{--ink:#1b2a3a;--ink-soft:#4d5f71;--ink-faint:#7b8a99;--glass:#ffffffb3;--glass-strong:#ffffffe6;--glass-border:#ffffffbf;--line:#1b2a3a1a;--sky:#8fd0f5;--summit:#38bdf8;--shadow-sm:0 2px 10px #2042621f;--shadow:0 14px 44px #20426233;--radius:18px;--radius-sm:12px;--font-display:"Outfit", "Segoe UI", system-ui, sans-serif;--font-body:"Inter", "Segoe UI", system-ui, sans-serif;--ease-out:cubic-bezier(.22, 1, .36, 1);--panel-w:clamp(400px, 56vw, 980px);--gutter:16px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{font-family:var(--font-body);color:var(--ink);-webkit-font-smoothing:antialiased;background:linear-gradient(#7cc4f2 0%,#cfeafb 55%,#fbeedd 100%)}.has-3d,.has-3d body{height:100%;overflow:hidden}a{color:inherit}::selection{background:var(--summit);color:#fff}:focus-visible{outline:3px solid var(--summit);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.dot{background:var(--accent,var(--summit));width:9px;height:9px;box-shadow:0 0 0 3px color-mix(in srgb, var(--accent,var(--summit)) 22%, transparent);border-radius:50%;flex:none;display:inline-block}kbd{font:600 .72rem/1 var(--font-body);border:1px solid var(--line);color:var(--ink-soft);background:#ffffffb3;border-radius:6px;padding:3px 6px}.glass{background:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(14px)saturate(1.3);box-shadow:var(--shadow-sm)}.card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:14px;display:grid}.card{border:1px solid var(--line);border-radius:var(--radius-sm);transition:transform .25s var(--ease-out), box-shadow .25s var(--ease-out), border-color .25s;background:#fff;flex-direction:column;text-decoration:none;display:flex;overflow:hidden;box-shadow:0 1px 2px #2042620f}.card:hover,.card:focus-visible{border-color:color-mix(in srgb, var(--accent) 55%, white);box-shadow:0 14px 30px color-mix(in srgb, var(--accent) 22%, transparent);transform:translateY(-3px)}.card__image{aspect-ratio:16/10;object-fit:cover;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#e8f3fb,#f6efe4);width:100%;height:auto;display:block}.card__body{flex-direction:column;gap:6px;padding:12px 14px 14px;display:flex}.card__name{font:600 1rem/1.25 var(--font-display)}.card__description{color:var(--ink-soft);font-size:.84rem;line-height:1.45}.card__tags{flex-wrap:wrap;gap:5px;margin:2px 0 0;padding:0;list-style:none;display:flex}.card__tags li{color:color-mix(in srgb, var(--accent) 70%, #1b2a3a);background:color-mix(in srgb, var(--accent) 12%, white);border-radius:999px;padding:3px 8px;font-size:.7rem;font-weight:600}.card.is-highlighted{border-color:var(--accent);animation:card-pulse 1.3s var(--ease-out) 2}@keyframes card-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 55%, transparent)}to{box-shadow:0 0 0 14px #0000}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.scene-ui{position:fixed;inset:0;overflow:hidden}.no-3d .scene-ui{display:none}.scene{isolation:isolate;z-index:0}.scene,.scene canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.label-layer{pointer-events:none;position:absolute;inset:0}.valley-label{pointer-events:auto;border:1px solid var(--glass-border);background:var(--glass);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow-sm);color:var(--ink);font:600 .86rem/1 var(--font-display);white-space:nowrap;cursor:pointer;transition:transform .3s var(--ease-out), opacity .3s, background .3s;border-radius:999px;align-items:center;gap:8px;padding:7px 12px 7px 10px;display:inline-flex}.valley-label__count{font:600 .72rem/1 var(--font-body);color:#fff;background:var(--accent);border-radius:999px;padding:3px 7px}.valley-label:hover,.valley-label.is-hovered,.valley-label.is-active{background:var(--glass-strong);transform:translateY(-3px)scale(1.06)}.valley-label.is-dimmed{opacity:.45}.valley-label--summit{font-size:.8rem}.topbar{top:var(--gutter);left:var(--gutter);right:var(--gutter);pointer-events:none;justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute}.topbar>*{pointer-events:auto}.brand{background:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:10px;padding:8px 16px 8px 10px;text-decoration:none;display:inline-flex}.brand__mark{width:28px;height:28px}.brand__text{font:700 1.12rem/1 var(--font-display);letter-spacing:-.01em}.topbar__actions{align-items:center;gap:8px;display:flex}.icon-btn{border:1px solid var(--glass-border);background:var(--glass);-webkit-backdrop-filter:blur(14px);min-width:44px;height:44px;box-shadow:var(--shadow-sm);color:var(--ink);font:500 .88rem/1 var(--font-body);cursor:pointer;transition:background .2s, transform .2s var(--ease-out);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 12px;text-decoration:none;display:inline-flex}.icon-btn:hover{background:var(--glass-strong);transform:translateY(-1px)}.icon-btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.icon-btn svg.filled{fill:currentColor;stroke:none}.search-trigger{min-width:230px;color:var(--ink-soft);justify-content:flex-start}.search-trigger kbd{margin-left:auto}#sound-toggle .icon-sound-on,#sound-toggle[aria-pressed=true] .icon-sound-off{display:none}#sound-toggle[aria-pressed=true] .icon-sound-on{display:block}#sound-toggle[aria-pressed=true]{color:#0b7fb3}.dock{left:50%;bottom:calc(var(--gutter) + env(safe-area-inset-bottom));max-width:calc(100vw - 2 * var(--gutter));scrollbar-width:none;background:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(14px)saturate(1.3);box-shadow:var(--shadow);transition:left .6s var(--ease-out), opacity .3s, transform .4s var(--ease-out);border-radius:999px;gap:4px;padding:6px;display:flex;position:absolute;overflow-x:auto;transform:translate(-50%)}.dock::-webkit-scrollbar{display:none}.dock__item{color:var(--ink);font:600 .86rem/1 var(--font-display);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;align-items:center;gap:8px;padding:9px 14px;transition:background .2s,color .2s;display:inline-flex}.dock__item:hover{background:#ffffffbf}.dock__item.is-active{background:var(--accent);color:#fff}.dock__item.is-active .dot{box-shadow:none;background:#fff}.dock__count{font:600 .72rem/1 var(--font-body);color:var(--ink-faint)}.dock__item.is-active .dock__count{color:#ffffffd9}.has-panel .dock{left:calc((100vw - var(--panel-w) - var(--gutter)) / 2);max-width:calc(100vw - var(--panel-w) - 3 * var(--gutter))}.hint{left:50%;bottom:calc(var(--gutter) + 72px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(8px);color:var(--ink-soft);white-space:nowrap;pointer-events:none;background:#ffffff8c;border-radius:999px;margin:0;padding:7px 14px;font-size:.8rem;transition:opacity .4s;position:absolute;transform:translate(-50%)}.hint.is-hidden{opacity:0}.tooltip{border-radius:var(--radius);background:var(--glass-strong);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(14px);width:300px;box-shadow:var(--shadow);cursor:pointer;z-index:5;animation:tooltip-in .18s var(--ease-out);padding:14px;transition:box-shadow .2s,border-color .2s;position:fixed;top:0;left:0}.tooltip:hover{border-color:color-mix(in srgb, var(--accent) 50%, white);box-shadow:0 16px 40px color-mix(in srgb, var(--accent) 28%, transparent)}@keyframes tooltip-in{0%{opacity:0}}.tooltip[hidden]{display:none}.tooltip p{margin:0}.tooltip__title{font:700 1.05rem/1.2 var(--font-display);align-items:center;gap:8px;display:flex}.tooltip__count{font:600 .75rem/1 var(--font-body);color:#fff;background:var(--accent);border-radius:999px;margin-left:auto;padding:4px 8px}.tooltip__tagline{color:var(--ink-soft);font-size:.82rem;margin-top:4px!important}.tooltip__thumbs{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px;display:grid}.tooltip__thumbs img{aspect-ratio:16/10;object-fit:cover;border:1px solid var(--line);background:#eef5fb;border-radius:8px;width:100%;height:auto}.tooltip__cta{text-align:center;color:#fff;background:var(--accent);border-radius:999px;padding:8px 12px;font-size:.8rem;font-weight:600;margin-top:12px!important}@media (width<=860px){.has-panel .valley-label.is-dimmed{opacity:0;pointer-events:none}.has-panel .dock{opacity:0;pointer-events:none;transform:translate(-50%,20px)}.has-panel .topbar{opacity:.95}}@media (width<=640px){:root{--gutter:12px}.search-trigger{min-width:44px;padding:0}.search-trigger__label,.search-trigger kbd,.icon-btn__label{display:none}.brand__text{font-size:1rem}.dock__label{text-overflow:ellipsis;max-width:9ch;overflow:hidden}.hint{font-size:.74rem}.valley-label{padding:5px 9px 5px 8px;font-size:.74rem}}.panel{top:calc(var(--gutter) + 60px);right:var(--gutter);bottom:var(--gutter);width:var(--panel-w);border-radius:var(--radius);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(18px)saturate(1.3);box-shadow:var(--shadow);transform:translateX(calc(100% + 2 * var(--gutter)));transition:transform .6s var(--ease-out), height .4s var(--ease-out);z-index:3;background:#fafcffdb;flex-direction:column;display:flex;position:absolute}.panel.is-open{transform:none}.panel.is-dragging{transition:none}.panel__handle{display:none}.panel__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px 14px;display:flex}.panel__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--accent) 80%, var(--ink));margin:0 0 4px;font-size:.72rem;font-weight:700}.panel__title{font:700 clamp(1.4rem, 2.4vw, 1.9rem) / 1.1 var(--font-display);letter-spacing:-.01em;outline:none;margin:0}.panel__tagline{color:var(--ink-soft);margin:6px 0 0;font-size:.92rem}.panel__close{background:#fff;flex:none}.panel__content{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--accent) 50%, transparent) transparent;flex:1;padding:18px 22px 24px;overflow-y:auto}.panel .directory__section+.directory__section{margin-top:28px}@media (width<=860px){.panel{width:auto;height:62dvh;padding-bottom:env(safe-area-inset-bottom);border-bottom:0;border-radius:22px 22px 0 0;inset:auto 0 0;transform:translateY(105%)}.panel.is-expanded{height:calc(100dvh - 72px)}.panel__handle{cursor:grab;touch-action:none;place-items:center;height:22px;display:grid}.panel__handle span{background:#1b2a3a33;border-radius:999px;width:44px;height:5px}.panel__header{touch-action:none;padding:4px 16px 12px}.panel__content{padding:14px 16px 24px}.card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr))}}.search{width:min(640px, calc(100vw - 2 * var(--gutter)));border:1px solid var(--glass-border);border-radius:var(--radius);background:var(--glass-strong);-webkit-backdrop-filter:blur(18px);max-height:min(70vh,620px);box-shadow:var(--shadow);color:var(--ink);margin:12vh auto auto;padding:0;overflow:hidden}.search[open]{animation:search-in .25s var(--ease-out);flex-direction:column;display:flex}.search::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#142d4638}@keyframes search-in{0%{opacity:0;transform:translateY(-8px)scale(.98)}}.search__box{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:14px 16px;display:flex}.search__box svg{fill:none;width:20px;height:20px;stroke:var(--ink-soft);stroke-width:2px;stroke-linecap:round;flex:none}.search__box input{min-width:0;color:var(--ink);font:500 1.05rem/1.4 var(--font-body);background:0 0;border:0;outline:none;flex:1}.search__box input::-webkit-search-cancel-button{display:none}.search__results{margin:0;padding:8px;list-style:none;overflow-y:auto}.search__result{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:12px;padding:8px;display:flex}.search__result[aria-selected=true],.search__result:hover{background:color-mix(in srgb, var(--accent) 12%, white)}.search__result img{object-fit:cover;border:1px solid var(--line);background:#eef5fb;border-radius:8px;flex:none;width:96px;height:60px}.search__text{flex-direction:column;gap:4px;min-width:0;display:flex}.search__name{font:600 1rem/1.2 var(--font-display)}.search__meta{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:7px;font-size:.78rem;display:flex;overflow:hidden}.search__hint{color:var(--ink-soft);padding:14px 10px;font-size:.9rem;line-height:2.2}.chip{border:1px solid var(--line);color:var(--ink);font:500 .82rem/1 var(--font-body);cursor:pointer;background:#fff;border-radius:999px;margin:0 2px;padding:5px 11px}.chip:hover{border-color:var(--summit)}@media (width<=640px){.search{margin-top:72px}.search__box kbd{display:none}.search__result img{width:72px;height:45px}}.directory{max-width:1280px;padding:8px var(--gutter) 64px;margin:0 auto}.directory[hidden]{display:none}.no-3d .site-title{padding:48px var(--gutter) 0;text-align:center;font:700 clamp(2rem, 5vw, 3.2rem) / 1.1 var(--font-display);margin:0}.site-title__tagline{font:500 clamp(1rem, 2vw, 1.2rem) / 1.3 var(--font-body);color:var(--ink-soft);margin-top:6px;display:block}.directory__header{text-align:center;margin-bottom:40px}.directory__header p{color:var(--ink-soft);margin:0}.directory__section{border-radius:var(--radius);border:1px solid var(--glass-border);background:#fff9;padding:22px}main.directory .directory__section+.directory__section{margin-top:28px}.panel .directory__section{background:0 0;border:0;padding:0}.directory__title{font:700 1.3rem/1.2 var(--font-display);align-items:center;gap:10px;margin:0;display:flex}.directory__title .count{font:600 .75rem/1 var(--font-body);color:#fff;background:var(--accent);border-radius:999px;padding:4px 8px}.directory__tagline{color:var(--ink-soft);margin:4px 0 14px;font-size:.9rem}
