/* The same Dock-style surface is used in both directions. */
html.journey-restoring .deck-entrance{animation:none;opacity:1;filter:none;transform:none}
html.category-detail-open{overflow:hidden;scrollbar-gutter:stable}
.category-detail-dialog{position:fixed;inset:24px;margin:auto;width:min(1160px,calc(100vw - 48px));height:calc(100dvh - 48px);max-width:none;max-height:none;overflow:visible;border:0;padding:0;background:transparent;color:#333a2e}
.category-detail-dialog::backdrop{background:#fff}
.category-detail-dialog.is-preparing::backdrop{background:transparent}
.category-detail-dialog.is-preparing .category-detail-sheet{visibility:hidden}
.category-detail-dialog.is-opening::backdrop{animation:category-backdrop-in 800ms cubic-bezier(.7,0,.67,1) both}
.category-detail-sheet{width:100%;height:100%;position:relative;overflow:hidden;background:#fff;border:1px solid #e4e6df;border-radius:20px;box-shadow:0 24px 90px #252b2430;transform-origin:top left}
.category-detail-frame{display:block;border:0;width:100%;height:100%;background:white;opacity:0;transform:none;transition:none}
.category-detail-sheet.is-ready .category-detail-frame{opacity:1;transform:translateY(0)}
.category-detail-close{position:absolute;z-index:5;right:15px;top:18px;width:30px;height:30px;display:grid;place-items:center;border:1px solid #e7e8e2;border-radius:50%;padding:0;background:#fafbf8;color:#747c68;cursor:pointer}
.category-detail-close:hover{background:#eeeee5;color:#4d5940}
.category-detail-close svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;fill:none}
.category-detail-close:focus-visible{outline:2px solid #8c9472;outline-offset:3px}
.category-detail-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;font:13px/1.8 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;color:#8a9180}
.category-detail-loading[hidden]{display:none}
.category-detail-loading a{display:none;text-decoration:underline;text-underline-offset:4px;font-size:12px;color:#596348}
.category-detail-loading.is-slow a{display:block}
.category-detail-dialog.is-closing::backdrop{animation:category-backdrop-out 800ms cubic-bezier(.33,0,.3,1) both}
.category-detail-dialog.is-closing .category-detail-sheet{will-change:transform,opacity;pointer-events:none}
.category-detail-dialog.is-closing .category-detail-frame{transition:none;pointer-events:none}
.category-detail-dialog.is-closing .category-detail-close{opacity:0;transition:opacity 180ms ease-out}
.category-in-panel .site-header,.category-in-panel .preview-bar{display:none}
.category-in-panel .catalog-detail-shell{width:100%;padding:20px 28px 34px;margin:0}
.category-in-panel .catalog-detail-nav{padding-right:42px;min-height:34px;margin-bottom:20px}
.category-in-panel .preview-foot{padding-bottom:24px}
@keyframes category-backdrop-in{from{background:#ffffff00}to{background:#fff}}
@keyframes category-backdrop-out{from{background:var(--category-backdrop-start,#fff)}to{background:#ffffff00}}
@media(max-width:640px){.category-detail-dialog{inset:10px;width:calc(100vw - 20px);height:calc(100dvh - 20px)}.category-detail-close{right:12px;top:18px}.category-in-panel .catalog-detail-shell{padding:20px 16px 30px}.category-in-panel .catalog-detail-nav{padding-right:37px}.category-in-panel .preview-role{display:none}}
@media(prefers-reduced-motion:reduce){.category-detail-dialog::backdrop,.category-detail-dialog.is-closing::backdrop{animation:none}.category-detail-frame{transition:none;transform:none}}

/* A single animated surface keeps text and the page on the same curved path. */
.category-genie-layer{position:absolute;inset:0;pointer-events:none;z-index:2}

/* Render the next category invisibly so its geometry is ready before entry. */
.category-detail-dialog.is-prewarming:not([open]){display:block;visibility:hidden;pointer-events:none}
