.v4-shell { background: var(--v4-bg); color: var(--v4-text); height: 100vh; }
.v4-titlebar {
  -webkit-app-region: drag; align-items: center; background: var(--v4-panel);
  border-bottom: var(--v4-border-width) solid var(--v4-border); display: flex;
  height: var(--v4-titlebar-height); justify-content: space-between;
  padding-inline-start: var(--v4-titlebar-padding);
}
.v4-brand, .v4-window-controls { align-items: center; display: flex; }
.v4-titlebar[hidden], .v4-brand[hidden], .v4-window-controls[hidden] { display: none; }
.v4-brand { gap: var(--v4-brand-gap); }
.v4-brand-logo {
  border-radius: var(--v4-brand-radius); height: var(--v4-brand-size); width: var(--v4-brand-size);
}
.v4-brand-title { font: var(--v4-brand-font); letter-spacing: var(--v4-brand-tracking); }
.v4-window-controls { -webkit-app-region: no-drag; align-self: stretch; }
.v4-window-button {
  background: transparent; border: 0; color: var(--v4-text);
  font: var(--v4-window-font); width: var(--v4-window-button-width);
}
.v4-window-button:hover { background: var(--v4-window-hover); }
.v4-window-icon { height: var(--v4-window-icon-size); width: var(--v4-window-icon-size); }
.v4-window-close:hover { background: var(--v4-danger); color: var(--v4-on-danger); }
.v4-shell-content { height: calc(100vh - var(--v4-titlebar-height)); }
.v4-config-retry {
  background: var(--v4-panel); border: var(--v4-border-width) solid var(--v4-border);
  color: var(--v4-text); font: var(--v4-body-font);
}
