.login-main {
  gap: 24px;
}

.clock-overlay[hidden] { display: none; }

.clock-open { overflow: hidden; }

.clock-overlay {
  position: fixed;
  inset: var(--login-header-height, 64px) 0 0;
  z-index: 100;
  display: grid;
  place-items: center;
  padding: 16px 16px 64px;
  background: #000;
}

.eva-clock {
  display: block;
  width: min(100%, 1200px, calc((100svh - var(--login-header-height, 64px) - 96px) * 1.92857));
  aspect-ratio: 2133 / 1106;
  border: 0;
  background: #000;
  pointer-events: none;
}

.dismiss-clock {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 24px 16px;
  border: 0;
  background: transparent;
  color: #aaa;
  font: 14px/1.5 var(--display-font);
  cursor: pointer;
}

.dismiss-clock:focus-visible { outline: 2px solid #f7931e; outline-offset: -4px; }

.license-note {
  max-width: 400px;
  margin: 0;
  text-align: center;
  font-size: .8rem;
  line-height: 1.6;
  color: var(--ink-soft);
}

.license-link {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  font: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

.license-open { overflow: hidden; }
.license-dialog {
  width: min(680px, calc(100% - 32px));
  max-height: 80svh;
  padding: 24px;
  border: 1px solid var(--border-strong);
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--ink);
  overflow: auto;
  overflow-wrap: anywhere;
  font-size: .9rem;
  line-height: 1.7;
}
.license-dialog::backdrop { background: rgb(0 0 0 / 75%); }
.license-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.license-heading h2 { margin: 0; font-size: 1.25rem; }
.license-close { min-width: 48px; min-height: 44px; border: 1px solid var(--border-strong); border-radius: 4px; padding: 8px 12px; background: var(--raised); color: var(--ink); font: inherit; cursor: pointer; }
.license-dialog section { margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--border); }
.license-dialog h3 { margin: 0 0 8px; font-size: 1rem; }
.license-dialog p { margin: 8px 0; }
.license-dialog a { color: #ffb45d; text-decoration: underline; }
.license-dialog summary { cursor: pointer; }
.license-dialog pre { margin-bottom: 0; white-space: pre-wrap; overflow-wrap: anywhere; font: .78rem/1.6 Consolas, monospace; color: var(--ink-soft); }
.license-link:focus-visible, .license-close:focus-visible { outline: 2px solid #f7931e; outline-offset: 3px; }

html[data-app-theme="light"] .license-dialog::backdrop { background: rgba(22, 22, 22, .60); }
html[data-app-theme="light"] .license-dialog a,
html[data-app-theme="light"] .license-link { color: var(--accent-strong); }
html[data-app-theme="light"] .license-close { background: var(--accent); color: #ffffff; border-color: var(--accent); }
html[data-app-theme="light"] .license-close:hover { background: var(--accent-strong); }
html[data-app-theme="light"] .license-dialog :is(a, summary):focus-visible { outline: 2px solid var(--accent-strong); outline-offset: 3px; }

@media (max-width: 600px) {
  .clock-overlay {
    align-items: start;
    padding-top: 24px;
  }
}

@media (max-width: 430px) {
  .login-main { gap: 20px; }
}
