.detail{position:fixed;inset:0;z-index:30}.detail[hidden]{display:none}.detail__scrim{position:absolute;inset:0;background:var(--scrim);opacity:0;transition:opacity .48s ease}.detail.is-open .detail__scrim{opacity:1}.detail.is-closing .detail__scrim{opacity:0;transition-duration:.38s}.detail__stage{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;gap:28px;padding:8vh 4vw;pointer-events:none}.detail__figure{--ratio: 1;flex:none;margin:0;aspect-ratio:var(--ratio);height:min(78vh,calc(58vw / var(--ratio)));transform-origin:top left;will-change:transform}.detail__figure img{display:block;width:100%;height:100%;object-fit:cover}.detail__panel{flex:none;display:flex;flex-direction:column;justify-content:space-between;width:clamp(260px,19vw,380px);height:47vh;padding:1.35rem 1.6rem 1.9rem;border-radius:var(--panel-radius);background:var(--panel);color:var(--panel-ink);pointer-events:auto;opacity:0;translate:0 12px;transition:opacity .42s ease .16s,translate .52s cubic-bezier(.16,1,.3,1) .16s}.detail.is-open .detail__panel{opacity:1;translate:0 0}.detail.is-closing .detail__panel{opacity:0;transition:opacity .22s ease,translate .22s ease}.detail__title{margin:0;font-size:clamp(15px,1.1vw,21px);font-weight:700;line-height:1.24}.detail__body{margin:0;font-size:clamp(13px,.85vw,16px);font-weight:400;line-height:1.42}.detail__close{position:absolute;top:1.715em;right:1.715em;z-index:2;padding:.4em .9em;border:0;border-radius:999px;background:var(--panel);color:var(--panel-ink);font-family:inherit;font-size:var(--hud-size);font-weight:500;cursor:pointer;opacity:0;transition:opacity .38s ease .2s}.detail.is-open .detail__close{opacity:1}.detail.is-closing .detail__close{opacity:0;transition-delay:0ms}@media(max-width:900px),(orientation:portrait){.detail__stage{flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:10vh 6vw}.detail__figure{height:min(52vh,calc(88vw / var(--ratio)))}.detail__panel{width:min(88vw,420px);height:auto;gap:.9rem}}@media(prefers-reduced-motion:reduce){.detail__scrim,.detail__panel,.detail__close{transition-duration:1ms;transition-delay:0ms}}
