/* Signed-out entry. The dashboard and account sheets keep their own layout. */
body.entry-screen {
  --entry-cream:#fffcf9;
  background:var(--entry-cream);
}
body.entry-screen header { background:transparent; }
body.entry-screen #account:empty { display:none; }
body.entry-screen main {
  padding-block:0 max(12px,env(safe-area-inset-bottom));
}
body.entry-screen .welcome-page {
  display:flex; flex-direction:column; justify-content:space-between;
  min-height:calc(100svh - 70px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  gap:clamp(16px,3.5svh,32px); padding-block-start:clamp(10px,2.5svh,25px);
}
body.entry-screen .welcome-hero { min-width:0; }
body.entry-screen .welcome-eyebrow {
  display:inline-flex; align-items:center; gap:7px; margin:0 0 11px;
  color:var(--primary-text); font-size:var(--type-caption); line-height:1.4; font-weight:var(--weight-semibold); letter-spacing:-.01em;
}
body.entry-screen .welcome-eyebrow::before {
  content:""; width:17px; height:2px; border-radius:2px; background:var(--primary);
}
body.entry-screen .welcome-headline {
  margin:0; color:var(--text); font-size:clamp(2rem,9.3vw,2.625rem);
  line-height:1.22; font-weight:var(--weight-bold); letter-spacing:-.052em;
}
body.entry-screen .welcome-headline span { color:var(--primary-text); }
body.entry-screen .welcome-description {
  margin-top:12px; color:var(--text-sub); font-size:var(--type-body); line-height:1.55; font-weight:var(--weight-regular); letter-spacing:-.018em;
}
body.entry-screen .welcome-visual {
  display:grid; place-items:center; height:clamp(145px,22.4svh,212px); margin:8px 0;
}
body.entry-screen .welcome-visual img { display:block; width:100%; height:100%; object-fit:contain; min-height:0; }
body.entry-screen .welcome-highlights {
  display:grid; gap:8px; list-style:none; margin:0; padding:14px 0 0; border-top:1px solid var(--line);
}
body.entry-screen .welcome-highlights li {
  display:grid; grid-template-columns:30px minmax(0,1fr); align-items:center; gap:10px; min-height:32px;
}
body.entry-screen .welcome-highlights li>.icon {
  width:30px; height:30px; padding:6px; color:var(--primary-text); background:var(--primary-soft); border-radius:10px; stroke-width:1.7;
}
body.entry-screen .welcome-highlights li:first-child>.icon { color:var(--asset); background:var(--asset-soft); }
body.entry-screen .welcome-highlights li>span {
  display:grid; grid-template-columns:5em minmax(0,1fr); align-items:baseline; gap:6px;
}
body.entry-screen .welcome-highlights strong { color:var(--text); font-size:var(--type-label); line-height:1.4; font-weight:var(--weight-semibold); }
body.entry-screen .welcome-highlights small { color:var(--text-sub); font-size:var(--type-caption); line-height:1.5; }
body.entry-screen .welcome-bottom, body.entry-screen .welcome-cta { display:grid; justify-items:stretch; gap:0; }
body.entry-screen .welcome-cta>.primary {
  width:100%; min-height:52px; padding:12px 16px; color:white; background:var(--action-fill);
  font-size:var(--type-body); font-weight:var(--weight-semibold); line-height:1.5; border-radius:15px; letter-spacing:-.015em;
}
body.entry-screen .welcome-cta>.primary:active { background:var(--primary-text); }
body.entry-screen .welcome-login, body.entry-screen .welcome-preview {
  display:inline-flex; align-items:center; justify-content:center; justify-self:center; gap:5px;
  min-height:44px; max-width:100%; padding:7px 8px; border-radius:8px; line-height:1.5;
}
body.entry-screen .welcome-login { color:var(--text-sub); font-size:var(--type-label); font-weight:var(--weight-medium); }
body.entry-screen .welcome-login strong, body.entry-screen .welcome-login b { color:var(--primary-text); font-weight:var(--weight-bold); }
body.entry-screen .welcome-preview { color:var(--primary-text); font-size:var(--type-note); font-weight:var(--weight-semibold); }
body.entry-screen .welcome-preview .icon { width:var(--icon-small); height:var(--icon-small); }
body.entry-screen .welcome-bottom>.welcome-highlights { margin-top:7px; }
body.entry-screen .welcome-highlights+.welcome-legal { margin-top:10px; }
body.entry-screen .welcome-legal { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:0 12px; }
body.entry-screen .welcome-legal a {
  display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; color:var(--text-sub); font-size:var(--type-caption);
  line-height:1.45; text-underline-offset:3px; text-decoration-thickness:1px;
}
/* The demo is a deliberate detour. Keep the way back visible without a tab switch. */
.demo-notice {
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:0 8px;
  margin:0 0 14px; padding:2px 8px 2px 12px; border:1px solid var(--line); border-radius:12px;
  background:var(--surface-soft); color:var(--text-sub); font-size:var(--type-caption); line-height:1.45;
}
.demo-notice span { padding-block:4px; }
.demo-notice button {
  min-height:44px; margin-inline-start:auto; padding:4px; border-radius:6px; color:var(--primary-text); font-size:var(--type-caption);
  font-weight:var(--weight-semibold); text-decoration:underline; text-underline-offset:3px;
}
@media (max-width:350px),(max-height:680px) {
  body.entry-screen .welcome-page { gap:16px; padding-block-start:8px; }
  body.entry-screen .welcome-visual { height:clamp(124px,20svh,153px); margin-block:4px 8px; }
  body.entry-screen .welcome-headline { font-size:2rem; }
  body.entry-screen .welcome-highlights { gap:5px; padding-block-start:10px; }
}
@container ledger-page (max-width:17em) {
  body.entry-screen .welcome-highlights li>span { grid-template-columns:minmax(0,1fr); gap:1px; }
}
