/* ── 全局 ── */
*,
*::before,
*::after {
  box-sizing: border-box;
}

:root {
  --app-rail-width: 80px;
  --app-topbar-height: 64px;
  --app-topbar-offset: 0px;
  --app-topbar-inset: 0px;
  --app-rail-mobile-height: 0px;
  --app-topbar-safe-height: calc(var(--app-topbar-height) + var(--app-rail-mobile-height));
}

:root.app-titlebar-floating {
  --app-topbar-offset: 12px;
  --app-topbar-inset: 12px;
  --app-topbar-safe-height: calc(var(--app-topbar-height) + var(--app-topbar-offset) + var(--app-rail-mobile-height));
}

html,
body {
  margin: 0;
  padding: 0;
  height: 100%;
  overflow: hidden;
}

body {
  background: rgb(var(--mdui-color-surface-container-low, 246 240 247));
  font-family: 'Google Sans', 'Product Sans', 'Helvetica Neue', 'PingFang SC', 'Microsoft YaHei', 'Noto Sans SC', sans-serif;
  -webkit-font-smoothing: antialiased;
}

#app {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

/* Vue 未挂载前隐藏模板 */
[v-cloak] {
  display: none;
}
