@font-face {
  font-family: Harmony;
  src: url("./HarmonyOS_Sans_Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
* { box-sizing: border-box; }
html { background: #0c211a; color-scheme: dark; }
body { margin: 0; color: #f0f2e9; font: 16px/1.45 Harmony, Arial, sans-serif; }
.entry-screen {
  min-height: 100vh; min-height: 100svh;
  display: grid; grid-template-rows: 1fr auto; align-items: start; justify-items: center; row-gap: 12px;
  padding: max(clamp(14px, 3svh, 30px), env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom));
  background: radial-gradient(ellipse 55% 36% at 27% 25%, #466a5269, transparent),
              radial-gradient(ellipse 65% 46% at 76% 8%, #3655428a, transparent),
              linear-gradient(151deg, #19362a, #0e271e 57%, #0a1c16);
}
.entry-filters { position: absolute; pointer-events: none; }
.entry-frame {
  width: min(100%, 370px); display: grid; gap: 19px;
}
.entry-print { margin: 0; text-align: center; }
.entry-house { display: block; width: min(87%, 294px); height: auto; margin: 0 auto; }
.entry-form {
  padding: 18px 21px; border-radius: 10px;
  border: 1px solid #c0d2bf33;
  background: linear-gradient(124deg, #b8d2bb1c 0%, #5d846b20 41%, #16372c73 100%);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  box-shadow: inset 0 1px 0 #eef7df0d, 0 10px 29px #051a133b;
}
.warm-corner { position: relative; }
.warm-corner::after {
  content: ""; position: absolute; pointer-events: none; inset: -1px;
  border-radius: inherit; padding: 1px;
  background: radial-gradient(ellipse 112px 50px at 100% 0%, #eed59bd6 2%, #d8b5789c 28%, #d8b5783b 61%, transparent 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor; mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); mask-composite: exclude;
}
.entry-field { display: block; border-radius: 6px; }
.entry-field::after { inset: 0; }
.entry-form h1 { margin: 0 0 12px; color: #f6f3e8; font: 500 28px/1.1 Harmony, Arial, sans-serif; letter-spacing: -.04em; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.entry-form label { display: block; margin-bottom: 7px; font-size: 13px; color: #cfdbd0; }
.entry-form input, .entry-form button { display: block; width: 100%; min-height: 46px; border-radius: 6px; font: inherit; }
.entry-form input { height: 46px; padding: 0 14px; font-size: 19px; border: 1px solid #68827499; color: #f2f3e8; background: #102a209e; }
.entry-form input::placeholder { color: #acbcb0; }
.entry-form button {
  position: relative; margin: 10px 0 0; cursor: pointer; font-weight: 500; color: #f5f5e8;
  background: linear-gradient(110deg,#487b60d6,#3f6b54c4); border: 1px solid #8eb19980; text-align: center;
}
.entry-form button svg { position: absolute; width: 17px; height: 17px; right: 14px; top: 50%; transform: translateY(-50%); fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.entry-legal { align-self: end; text-align: center; }
.entry-legal a { display: inline-block; padding: 8px; font-size: 11px; line-height: 1.2; text-decoration: none; color: #98aea0; }
.entry-legal a:hover { text-decoration: underline; color: #d5dfcf; }
:focus-visible { outline: 2px solid #dbc691; outline-offset: 3px; }
.entry-hint,.entry-error { font-size: 14px; margin: 7px 0 10px; }
.entry-hint { color: #c2d3c5; }.entry-error { color: #ffd2ae; }
.entry-form .entry-secondary { min-height: 36px; background: transparent; border: none; margin: 3px 0 0; font-size: 13px; color: #d1dfd3; }
@media (max-height: 560px) {
  .entry-screen { padding-block: 12px; }
  .entry-house { height: 82px; width: auto; max-width: 100%; }
  .entry-frame { gap: 12px; }
  .entry-form { padding-block: 12px; }
  .entry-form h1 { font-size: 26px; margin-bottom: 10px; }
}
