:root { color: var(--polar-ink); font-family: var(--font-sans); }
* { box-sizing: border-box; }
body { margin: 0; }
button, input { font: inherit; }
:focus-visible { outline: 3px solid var(--polar-link); outline-offset: 3px; }

.welcome-page {
  --welcome-background: url('/art/polar-bridge-wide-1774.webp');
  min-height: 100vh;
  min-height: 100svh;
  display: grid;
  place-items: center;
  background: radial-gradient(ellipse at 50% 42%, #f6fafff2 0%, #f5f9fc9e 40%, #e4f0f638 78%),
    var(--welcome-background) center / cover no-repeat, var(--polar-white);
}
@media (aspect-ratio < 3/5) {
  .welcome-page { --welcome-background: url('/art/polar-bridge-portrait-880.webp'); }
}
.welcome-main { display: grid; justify-items: center; gap: clamp(.7rem, 2.1svh, 1.35rem); padding: 1rem; }
.welcome-emblem { display: inline-flex; }
.welcome-emblem img { display: block; width: clamp(4.5rem, 10svh, 7.25rem); height: auto; }
.welcome-main h1 { margin: 0; }
.welcome-main h1 img { display: block; width: min(82vw, 43rem); height: auto; }
.welcome-league {
  margin: 0;
  font-size: clamp(.86rem, 2.2vw, 1.55rem);
  font-weight: 800;
  letter-spacing: .18em;
  text-align: center;
}

.owner-dialog { width: min(100% - 1.5rem, 28rem); padding: 0; border: 0; color: inherit; background: transparent; }
.owner-dialog::backdrop { background: #10253ba6; }
.owner-card { padding: clamp(1.25rem, 4vw, 2rem); }
.owner-card h2 { margin: 0 2rem 1rem 0; font-size: clamp(1.3rem, 4vw, 1.65rem); line-height: 1.12; }
.owner-card form, .owner-card label { display: grid; gap: .45rem; }
.owner-card form { gap: .8rem; }
.owner-card label { font-size: .86rem; font-weight: 700; }
.owner-card input, .owner-submit { min-height: 44px; padding: .55rem .75rem; }
.owner-card input { width: 100%; border: 1px solid var(--glacier-border); border-radius: .3rem; color: inherit; background: var(--snow); }
.owner-submit { --cut-line: 0px; --cut-face: var(--racing-red); color: var(--snow); cursor: pointer; font-weight: 800; }
.owner-submit:hover:enabled { --cut-face: var(--racing-hover); }
.owner-submit:disabled { opacity: .65; cursor: wait; }
.owner-close { position: absolute; inset: .7rem .7rem auto auto; width: 2.75rem; min-height: 2.75rem; border: 0; background: transparent; cursor: pointer; font-size: 1.6rem; color: inherit; }
.owner-status { margin: 0; color: var(--polar-link); font-size: .88rem; }
.owner-status:empty { display: none; }
