.entry-page { min-height:100dvh; background:radial-gradient(ellipse at 50% 0,#d6e8dd55,transparent 65%),var(--bg); }
.dark .entry-page { background:radial-gradient(ellipse at 50% 0,#34497455,transparent 65%),var(--bg); }
.entry-shell { max-width:480px; margin:auto; padding:calc(32px + env(safe-area-inset-top,0px)) 24px calc(24px + env(safe-area-inset-bottom,0px)); text-align:center; }
.entry-brand { display:inline-flex; gap:12px; align-items:center; font-size:1.375rem; font-weight:650; text-align:left; }
.entry-brand small { display:block; font-size:0.5625rem; letter-spacing:1.3px; color:var(--muted); margin-top:5px; }
.entry-mark { display:grid; place-items:center; width:43px; height:47px; background:var(--brand); color:var(--card); border-radius:14px 14px 6px 14px; }
.dark .entry-mark { color:var(--on-accent); }
.entry-orbit { position:relative; width:112px; height:112px; margin:45px auto 24px; display:grid; place-items:center; }
.entry-orbit i { position:absolute; inset:0; border:1px solid var(--line); border-radius:50%; }
.entry-orbit i:nth-child(2) { inset:14px; border-style:dashed; border-color:var(--brand); opacity:.4; }
.entry-orbit:after { content:''; width:8px; height:8px; background:var(--brand); border-radius:50%; position:absolute; top:16px; right:17px; box-shadow:0 0 18px var(--brand); }
.entry-orbit span { font-size:2.75rem; color:var(--brand); }
.entry-shell .eyebrow { font-size:0.625rem; letter-spacing:1.6px; }
.entry-shell h1 { margin-top:14px; font-size:1.8125rem; line-height:1.55; letter-spacing:-.6px; }
.entry-description { color:var(--muted); font-size:0.8125rem; line-height:1.9; margin:15px 0 27px; }
.entry-card { padding:26px; text-align:left; border:1px solid var(--line); border-radius:22px; background:var(--card); box-shadow:var(--shadow); }
.entry-card h2 { font-size:1.125rem; }.entry-card .pill { font-size:0.6875rem; }
.entry-card label { display:block; margin:22px 0 10px; font-size:0.8125rem; }
.entry-input { display:flex; border:1px solid var(--line); border-radius:12px; background:var(--bg); overflow:hidden; }
.entry-input:focus-within { border-color:var(--brand); box-shadow:0 0 0 3px color-mix(in srgb,var(--brand),transparent 90%); }
.entry-input input { width:100%; min-width:0; font-size:1.0rem; padding:15px 13px; border:0; outline:none; background:none; color:var(--ink); }
.entry-input button { padding:0 13px; border:0; background:none; color:var(--muted); font-size:0.75rem; min-width:52px; }
.entry-submit { width:100%; min-height:49px; margin-top:18px; justify-content:space-between; font-size:0.875rem; border-radius:12px; }
.entry-card>small { display:block; color:var(--muted); font-size:0.6875rem; text-align:center; margin-top:16px; }
#access-error { margin-top:12px; color:var(--orange); font-size:0.75rem; line-height:1.8; }
.entry-shell footer { color:var(--muted); font-size:0.6875rem; margin-top:26px; }
@media(min-width:700px) { .entry-shell { padding-top:48px; }.entry-orbit { margin-top:40px; } }
@media(prefers-reduced-motion:no-preference) {
  .entry-card { animation:entry-appear .55s cubic-bezier(.22,1,.36,1) both; }
  .entry-orbit:after { animation:entry-glow 4s ease-in-out infinite; }
  @keyframes entry-appear { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
  @keyframes entry-glow { 50% { opacity:.5; box-shadow:0 0 24px var(--brand); } }
}
