/* Studioに依存していた操作の表示を補う。 */
.nt-menu {
  box-sizing: border-box; width: min(92vw, 460px); max-height: 90dvh;
  margin: auto; padding: 24px; border: 1px solid #ddd; border-radius: 4px;
  color: #222; background: #fff; font: 14px/1.6 sans-serif;
}
.nt-menu::backdrop { background: rgb(0 0 0 / 45%); }
.nt-menu nav { display: flex; flex-direction: column; clear: both; padding: 12px 0; }
.nt-menu nav a { display: block; padding: 14px 6px; color: #222; text-decoration: none; border-bottom: 1px solid #eee; }
.nt-menu nav a:hover { background: #f5f5f5; }
.nt-menu-close { float: right; border: 0; padding: 8px; color: #222; background: none; font: inherit; cursor: pointer; }
.nt-menu :focus-visible, .nt-book-track:focus-visible, .nt-carousel:focus-visible { outline: 2px solid #555; outline-offset: 3px; }
.nt-book-track { scroll-snap-type: x proximity; overflow-x: auto !important; scrollbar-width: thin; }
.nt-book-track > * { flex-shrink: 0 !important; scroll-snap-align: start; }
.nt-book-previous { border: 0; padding: 8px; background: transparent; color: inherit; font: 25px/1 sans-serif; cursor: pointer; }
.nt-carousel { position: relative !important; display: block !important; touch-action: pan-y; }
.nt-carousel > .nt-slide { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; margin: 0 !important; opacity: 1 !important; transform: none !important; visibility: visible !important; }
.nt-carousel > .nt-slide[hidden] { display: none !important; }
.nt-carousel .nt-slide > .image { z-index: 0 !important; width: 100% !important; height: 100% !important; }
.nt-gallery-image { background-size: cover; background-position: center; background-repeat: no-repeat; }
.nt-carousel > .nt-carousel-controls { display: flex !important; position: absolute !important; left: 0 !important; right: 0 !important; bottom: 0 !important; z-index: 5 !important; gap: 8px; align-items: center !important; justify-content: center !important; }
.nt-generated-slide-control { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 0; border-radius: 50%; color: #fff; background: rgb(0 0 0 / 45%); cursor: pointer; font: 24px/1 Arial, sans-serif; }
.nt-control-symbol { display: inline-block; color: inherit; font: inherit; line-height: 1; }
.nt-carousel-controls:has(.nt-generated-slide-control) { padding: 12px; box-sizing: border-box; }
.nt-carousel-count { display: inline-block; padding: 4px 9px; border-radius: 3px; color: #fff; background: rgb(0 0 0 / 45%); font: 12px/1.5 sans-serif; }
