*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  min-height: 100%;
  background: #eeeeee;
  color: var(--color-text);
  font-family: var(--font-ja);
  letter-spacing: 0;
}

html:lang(en) {
  font-family: var(--font-en);
}

html:lang(zh-CN) {
  font-family: var(--font-zh-cn);
}

body {
  min-height: 100%;
  margin: 0;
  background: #eeeeee;
}

button,
a {
  color: inherit;
  font: inherit;
}

button {
  padding: 0;
  border: 0;
  background: transparent;
}

img {
  display: block;
  max-width: 100%;
}

.catalog-shell {
  display: none;
  width: var(--page-width);
  min-height: 100vh;
  margin: 0;
  overflow: hidden;
  background: var(--color-bg);
}

.device-notice {
  position: fixed;
  inset: 0;
  z-index: var(--z-block);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 28px;
  background: var(--color-bg);
  text-align: center;
}

.device-notice__title {
  margin: 0;
  color: var(--color-ink);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: var(--tracking-base);
}

.device-notice__body {
  max-width: 280px;
  margin: 0;
  color: var(--color-muted);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.8;
}

.orientation-block {
  display: none;
}

@media (max-width: 767px) and (orientation: portrait) {
  body {
    background: var(--color-bg);
  }

  .catalog-shell {
    display: block;
  }

  .unsupported-device,
  .orientation-block {
    display: none;
  }
}

@media (max-width: 767px) and (orientation: landscape) {
  .unsupported-device {
    display: none;
  }

  .orientation-block {
    display: flex;
  }
}

@media (max-width: 767px) and (orientation: landscape) {
  .catalog-shell,
  .unsupported-device {
    display: none;
  }

  .orientation-block {
    display: flex;
  }
}

html[data-view="portrait"] body {
  background: var(--color-bg);
}

html[data-view="portrait"] .catalog-shell {
  display: block;
}

html[data-view="portrait"] .unsupported-device,
html[data-view="portrait"] .orientation-block {
  display: none;
}

html[data-view="landscape"] .catalog-shell,
html[data-view="landscape"] .unsupported-device {
  display: none;
}

html[data-view="landscape"] .orientation-block {
  display: flex;
}

html[data-view="unsupported"] .catalog-shell,
html[data-view="unsupported"] .orientation-block {
  display: none;
}

html[data-view="unsupported"] .unsupported-device {
  display: flex;
}
