/* Start-light artwork is local and decorative. Account controls stay shared. */
body:has(.signin-screen:not([hidden])) {
  --signin-paper: #171e22;
  background: var(--signin-paper);
}
.signin-screen {
  --signin-card: #263137;
  --signin-ink: #faf3df;
  --signin-muted: #c1c9c7;
  --signin-action-background: #f0bd59;
  --signin-hover: #ffcf75;
  --signin-line: #53605f;
  --signin-focus: #fff0be;
  --signin-action-ink: #192226;
  --signin-width: 540px;
  --signin-space: 24px;
  --signin-small: 12px;
  --signin-padding: clamp(24px, 6vw, 56px);
  --signin-radius: 16px;
  --signin-action-radius: 8px;
  --signin-title: clamp(36px, 6vw, 56px);
  --panel-width: 260px;
  --panel-face: #111a1c;
  --panel-light: 28px;
  --panel-light-off: #3a1512;
  --panel-light-on: #ff4a3d;
  --panel-glow: 12px;
  --panel-kerb-height: 10px;
  --panel-kerb-stripe: 18px;
  --panel-kerb-red: #d8443f;
  --panel-kerb-white: #f3efe4;
  --signin-caption: 13px;
  --signin-tracking: 0.14em;
  --signin-border: 1px;
  --signin-outline: 3px;
  --signin-shadow: 0 12px 42px #26382b0b;
  display: grid;
  place-items: center;
  width: 100%;
  height: auto;
  min-height: 85svh;
  padding: var(--signin-padding) var(--signin-space);
  color-scheme: dark;
  color: var(--signin-ink);
  background: var(--signin-paper);
  font:
    16px/1.6 system-ui,
    sans-serif;
}
.signin-screen[hidden] {
  display: none;
}
body:has(.signin-screen:not([hidden])) > main:not(.signin-screen) {
  max-width: none;
  padding: 0;
}
.signin-card {
  width: min(100%, var(--signin-width));
  padding: var(--signin-padding);
  border: var(--signin-border) solid var(--signin-line);
  border-radius: var(--signin-radius);
  background: var(--signin-card);
  box-shadow: var(--signin-shadow);
  text-align: center;
}
.signin-panel {
  width: min(100%, var(--panel-width));
  margin: 0 auto var(--signin-space);
  padding: var(--signin-small);
  border: var(--signin-border) solid var(--signin-line);
  border-radius: var(--signin-action-radius);
  background: var(--panel-face);
}
.signin-status {
  display: block;
  color: var(--signin-muted);
  font: var(--signin-caption) monospace;
  letter-spacing: var(--signin-tracking);
}
.signin-lights {
  display: flex;
  justify-content: center;
  gap: var(--signin-small);
  margin: var(--signin-small) 0;
}
.signin-lights span {
  width: var(--panel-light);
  height: var(--panel-light);
  border-radius: 50%;
  background: var(--panel-light-off);
}
/* Three of five lit: the grid is still forming. Nothing here counts down. */
.signin-lights span:nth-child(-n + 3) {
  background: var(--panel-light-on);
  box-shadow: 0 0 var(--panel-glow) var(--panel-light-on);
}
.signin-kerb {
  height: var(--panel-kerb-height);
  margin: var(--signin-small) 0;
  border-radius: var(--signin-action-radius);
  background: repeating-linear-gradient(
    90deg,
    var(--panel-kerb-red) 0 var(--panel-kerb-stripe),
    var(--panel-kerb-white) var(--panel-kerb-stripe)
      calc(2 * var(--panel-kerb-stripe))
  );
}
.signin-card .signin-eyebrow {
  margin: var(--signin-small) 0 var(--signin-space);
  color: var(--signin-muted);
  font-size: var(--signin-caption);
  font-weight: 700;
  letter-spacing: var(--signin-tracking);
}
.signin-card h1 {
  margin: 0 0 var(--signin-space);
  font:
    500 var(--signin-title) / 1.1 Georgia,
    serif;
  letter-spacing: normal;
}
.signin-card .signin-description {
  margin: 0 0 var(--signin-space);
  color: var(--signin-muted);
}
.signin-card .signin-action {
  display: block;
  padding: var(--signin-small) var(--signin-space);
  border-radius: var(--signin-action-radius);
  background: var(--signin-action-background);
  color: var(--signin-action-ink);
  text-decoration: none;
  font-weight: 600;
}
.signin-card .signin-action:hover {
  background: var(--signin-hover);
}
.signin-card .signin-action:focus-visible {
  outline: var(--signin-outline) solid var(--signin-focus);
  outline-offset: var(--signin-outline);
}
.signin-card .signin-note {
  margin: var(--signin-space) 0 0;
  color: var(--signin-muted);
  font-size: var(--signin-caption);
}
