.pv-entry-intro {
  --entry-accent: var(--pv-cyan, #21d4d7);
  --entry-background: #02080e;
  --entry-text: #f5fbff;
  --entry-muted: #a7b7c1;
  --entry-logo-scale: 1;
  --entry-brand-scale: 1;
  --entry-loader-scale: 1;
  --entry-button-scale: 1;
  position: fixed;
  inset: 0;
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  margin: 0;
  padding: max(24px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));
  border: 0;
  outline: none;
  box-shadow: none;
  color: var(--entry-text);
  background: radial-gradient(ellipse at 50% 58%, color-mix(in srgb, var(--entry-accent) 10%, transparent), transparent 60%), var(--entry-background);
  overflow: auto;
  font-family: Inter, "Segoe UI", system-ui, sans-serif;
  box-sizing: border-box;
}
.pv-entry-intro:focus, .pv-entry-intro:focus-visible { outline: none; border: 0; box-shadow: none; }
html:has(.pv-entry-intro[open]) { overflow: hidden; }
.pv-entry-intro::backdrop { background: #02080e; }
.pv-entry-intro[open] { display: grid; place-items: center; }
.pv-entry-intro *, .pv-entry-intro *::before, .pv-entry-intro *::after { box-sizing: border-box; }
.pv-entry-atmosphere { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.pv-entry-fog { position: absolute; left: -25%; top: 45%; width: 150%; height: 55%; border-radius: 50%; opacity: .38; background: radial-gradient(ellipse at 50% 70%, color-mix(in srgb, var(--entry-accent) 23%, transparent), transparent 65%); filter: blur(45px); animation: pv-entry-drift 14s ease-in-out infinite alternate; }
.pv-entry-fog-b { top: 20%; opacity: .2; animation-duration: 19s; animation-direction: alternate-reverse; }
.pv-entry-intro[data-fog="false"] .pv-entry-fog { display: none; }
.pv-entry-horizon { position: absolute; left: 12%; right: 12%; top: 74%; height: 1px; background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--entry-accent) 40%, transparent), transparent); box-shadow: 0 0 36px var(--entry-accent); opacity: .42; }
.pv-entry-content { position: relative; z-index: 1; display: grid; grid-template-areas: "logo" "brand" "loader" "status" "actions"; justify-items: center; gap: 14px; width: min(100%, 620px); text-align: center; }
.pv-entry-emblem { grid-area: logo; display: grid; place-items: center; width: min(calc(clamp(250px, 42vw, 480px) * var(--entry-logo-scale)), max(100px, calc(100svh - 390px))); max-width: 85vw; aspect-ratio: 1; animation: pv-entry-rise 1s ease-out both; }
.pv-entry-logo { display: block; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 0 12px color-mix(in srgb, var(--entry-accent) 65%, transparent)) drop-shadow(0 0 48px color-mix(in srgb, var(--entry-accent) 38%, transparent)); animation: pv-entry-glow 4s ease-in-out 1s infinite; }
.pv-entry-intro[data-glow="soft"] .pv-entry-logo { filter: drop-shadow(0 0 14px color-mix(in srgb, var(--entry-accent) 38%, transparent)); animation: none; }
.pv-entry-logo-fallback { color: var(--entry-accent); font-size: clamp(2rem, 9vw, 4rem); letter-spacing: .12em; text-shadow: 0 0 30px var(--entry-accent); }
.pv-entry-brand { grid-area: brand; display: grid; gap: 7px; max-width: 100%; font-family: var(--entry-brand-font, Bahnschrift, "Arial Black", system-ui, sans-serif); }
.pv-entry-brand-name { color: #fff; font-size: calc(clamp(30px, 5vw, 56px) * var(--entry-brand-scale)); font-weight: 950; line-height: 1.05; letter-spacing: .065em; overflow-wrap: anywhere; }
.pv-entry-brand-subtitle { color: var(--entry-accent); font-size: calc(18px * var(--entry-brand-scale)); font-weight: 850; line-height: 1.2; letter-spacing: .38em; }
.pv-entry-loading { grid-area: loader; width: min(92%, calc(440px * var(--entry-loader-scale))); padding: 7px; border: 1px solid color-mix(in srgb, var(--entry-accent) 55%, transparent); border-radius: 3px; transform: skewX(-12deg); box-shadow: 0 0 24px color-mix(in srgb, var(--entry-accent) 20%, transparent); overflow: hidden; }
.pv-entry-loading-bar { position: relative; height: calc(14px * var(--entry-loader-scale)); background: color-mix(in srgb, var(--entry-accent) 12%, transparent); overflow: hidden; }
.pv-entry-loading-bar::before { content: ""; position: absolute; inset: 0; transform: scaleX(0); transform-origin: left center; background: repeating-linear-gradient(90deg, var(--entry-accent) 0 22px, color-mix(in srgb, var(--entry-accent) 55%, transparent) 22px 25px); box-shadow: 0 0 18px var(--entry-accent); animation: pv-entry-loading 5s linear both; animation-delay: var(--entry-fill-delay, 0ms); }
.pv-entry-intro[data-state="ready"] .pv-entry-loading-bar::before { transform: scaleX(1); animation: none; }
.pv-entry-intro[data-loader-style="solid"] .pv-entry-loading { border-radius: 999px; transform: none; }
.pv-entry-intro[data-loader-style="solid"] .pv-entry-loading-bar { border-radius: 999px; }
.pv-entry-intro[data-loader-style="solid"] .pv-entry-loading-bar::before { background: var(--entry-accent); }
.pv-entry-intro[data-loader-style="stripes"] .pv-entry-loading { transform: none; }
.pv-entry-intro[data-loader-style="stripes"] .pv-entry-loading-bar::before { background: repeating-linear-gradient(135deg, var(--entry-accent) 0 12px, color-mix(in srgb, var(--entry-accent) 55%, transparent) 12px 20px); }
.pv-entry-status { grid-area: status; min-height: 1.6em; margin: 0; font-size: .85rem; line-height: 1.5; color: var(--entry-muted); }
.pv-entry-actions { grid-area: actions; display: grid; grid-template-rows: minmax(80px, auto) 16px; align-items: center; justify-items: center; width: 100%; }
.pv-entry-actions .pv-entry-key-hint { grid-row: 2; }
.pv-entry-start { min-width: calc(200px * var(--entry-button-scale)); max-width: calc(100% - 32px); min-height: max(44px, calc(56px * var(--entry-button-scale))); padding: calc(14px * var(--entry-button-scale)) calc(32px * var(--entry-button-scale)); margin: 0; border: 1px solid var(--entry-accent); border-radius: 4px; background: color-mix(in srgb, var(--entry-accent) 18%, var(--entry-background)); color: var(--entry-text); box-shadow: inset 0 0 22px color-mix(in srgb, var(--entry-accent) 16%, transparent), 0 0 20px color-mix(in srgb, var(--entry-accent) 42%, transparent), 0 0 60px color-mix(in srgb, var(--entry-accent) 20%, transparent); font-family: var(--entry-button-font, Bahnschrift, "Arial Black", system-ui, sans-serif); font-size: calc(1.1rem * var(--entry-button-scale)); font-weight: 850; line-height: 1.25; overflow-wrap: anywhere; cursor: pointer; animation: pv-entry-start 450ms ease-out both; transition: background 160ms, box-shadow 160ms, transform 160ms; }
.pv-entry-intro[data-button-shape="rounded"] .pv-entry-start { border-radius: 16px; }
.pv-entry-intro[data-button-shape="pill"] .pv-entry-start { border-radius: 999px; }
.pv-entry-intro[data-button-style="solid"] .pv-entry-start { background: var(--entry-accent); color: var(--entry-background); box-shadow: none; }
.pv-entry-intro[data-button-style="outline"] .pv-entry-start { background: transparent; box-shadow: none; }
.pv-entry-start[hidden] { display: none; }
.pv-entry-start:hover { background: var(--entry-accent); color: var(--entry-background); border-color: var(--entry-accent); box-shadow: 0 0 30px color-mix(in srgb, var(--entry-accent) 65%, transparent), 0 0 75px color-mix(in srgb, var(--entry-accent) 28%, transparent); }
.pv-entry-start:focus-visible { outline: 2px solid var(--entry-accent); outline-offset: 5px; }
@media (hover: hover) { .pv-entry-intro:not([data-hover-grow="false"]) .pv-entry-start:hover { transform: scale(1.06); } }
.pv-entry-intro[data-layout="brand-first"] .pv-entry-content { grid-template-areas: "brand" "logo" "loader" "status" "actions"; }
@media (min-width: 700px) { .pv-entry-intro[data-layout="side-by-side"] .pv-entry-content { width: min(100%, 1000px); grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "logo brand" "logo loader" "logo status" "logo actions"; column-gap: 36px; align-items: center; } .pv-entry-intro[data-layout="side-by-side"] .pv-entry-emblem { max-width: 100%; } }
.pv-entry-key-hint { font-size: .7rem; color: var(--entry-muted); opacity: .72; }
@keyframes pv-entry-drift { from { transform: translate(-4%, 10%) scale(.9); } to { transform: translate(5%, -10%) scale(1.15); } }
@keyframes pv-entry-rise { from { opacity: 0; transform: translateY(38px); } to { opacity: 1; transform: translateY(0); } }
@keyframes pv-entry-glow { 50% { filter: drop-shadow(0 0 18px color-mix(in srgb, var(--entry-accent) 85%, transparent)) drop-shadow(0 0 60px color-mix(in srgb, var(--entry-accent) 50%, transparent)); } }
@keyframes pv-entry-loading { from { transform: scaleX(0); } to { transform: scaleX(.95); } }
@keyframes pv-entry-start { from { opacity: 0; } to { opacity: 1; } }
@media (max-height: 560px) { .pv-entry-emblem { width: min(32vh, 220px); } .pv-entry-content { gap: 9px; } .pv-entry-start { margin-top: 0; } }
@media (prefers-reduced-motion: reduce) { .pv-entry-intro * { animation: none !important; transition: none !important; } .pv-entry-loading-bar::before { animation: none; transform: scaleX(.5); } .pv-entry-intro[data-state="ready"] .pv-entry-loading-bar::before { transform: scaleX(1); } }
