/* Scoped install UI: no account data, third-party assets, or layout dependencies. */
.lb-install-banner, .lb-install-dialog, .lb-install-page {
  --install-ink:#14213d; --install-muted:#526176; --install-gold:#e5bb64;
  color:var(--install-ink); font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:15px; line-height:1.45; color-scheme:light;
}
.lb-install-banner *, .lb-install-dialog *, .lb-install-page * { box-sizing:border-box; }
[data-install-banner][hidden], [data-install-guide][hidden], [data-install-browser][hidden],
[data-install-action][hidden], [data-install-installed][hidden], [data-install-entry][hidden] { display:none!important; }
.lb-install-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:10px 20px; border:2px solid #14213d; border-radius:14px; background:#14213d; color:#fff; font:800 15px/1.3 system-ui,sans-serif; text-decoration:none; cursor:pointer; touch-action:manipulation; }
.lb-install-button:disabled { opacity:.65; cursor:wait; }
.lb-install-button:hover { background:#273959; color:#fff; }
.lb-install-button:focus-visible, .lb-install-dialog button:focus-visible, .lb-install-banner button:focus-visible { outline:3px solid #228576; outline-offset:3px; }
.lb-install-close { display:grid; place-items:center; width:44px; height:44px; flex-shrink:0; padding:0; border:0; border-radius:50%; background:transparent; color:#526176; font:28px/1 system-ui; cursor:pointer; }
.lb-install-banner { position:fixed; z-index:1045; bottom:max(16px,env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); width:calc(100% - 24px); max-width:480px; display:grid; grid-template-columns:44px 1fr auto; align-items:center; gap:10px; padding:16px 14px; background:#fffdf8; border:1px solid #e1dfd6; border-radius:20px; box-shadow:0 6px 32px #14213d30; }
.lb-install-banner>img { width:44px; height:44px; border-radius:12px; }
.lb-install-banner strong { display:block; font-size:14px; padding-right:15px; }
.lb-install-banner span { display:block; font-size:12px; color:var(--install-muted); margin-top:3px; }
.lb-install-banner .lb-install-close { position:absolute; top:-12px; right:-5px; background:#fffdf8; border:1px solid #e1dfd6; width:44px; height:44px; }
.lb-install-banner .lb-install-button { margin-top:15px; padding:8px 13px; min-height:44px; font-size:14px; }
body.app-page .lb-install-banner { bottom:calc(82px + env(safe-area-inset-bottom)); }
.lb-install-dialog { position:fixed; width:calc(100% - 24px); max-width:420px; max-height:calc(100dvh - 32px); margin:auto; padding:28px 24px 20px; border:1px solid #e1dfd6; border-radius:26px; background:#fffdf8; box-shadow:0 12px 60px #14213d40; overflow-y:auto; overscroll-behavior:contain; text-align:center; }
.lb-install-dialog:not([open]) { display:none; }
.lb-install-dialog::backdrop { background:#14213d99; }
.lb-install-dialog>.lb-install-close { position:absolute; top:8px; right:8px; }
.lb-install-icon { display:block; border-radius:17px; margin:0 auto 16px; }
.lb-install-dialog h2 { font:850 27px/1.1 system-ui,sans-serif; letter-spacing:-.7px; color:#14213d; margin:0 0 8px; }
.lb-install-dialog p { margin:0 0 16px; color:var(--install-muted); font-size:14px; }
.lb-install-dialog .lb-install-kicker { margin-top:25px; font-size:10px; font-weight:850; letter-spacing:.08em; text-align:left; }
.lb-install-steps { display:grid; gap:10px; padding:0; margin:0 0 20px; list-style:none; text-align:left; }
.lb-install-steps li { display:flex; gap:13px; align-items:center; background:#f1f2ed; border-radius:15px; padding:13px 12px; }
.lb-install-step-icon { display:grid; place-items:center; flex:0 0 42px; color:#226f65; font-size:32px; line-height:1; }
.lb-install-step-icon svg { width:28px; height:28px; }
.lb-install-step-icon img { border-radius:10px; }
.lb-install-steps strong { display:block; color:#14213d; font-size:14px; line-height:1.4; }
.lb-install-steps div>span { display:block; color:var(--install-muted); font-size:12px; margin-top:4px; }
.lb-install-done { width:100%; margin-bottom:16px; }
.lb-install-dialog .lb-install-note, .lb-install-page .lb-install-note { font-size:12px; color:#526176; margin:0; line-height:1.6; }
.lb-install-browser { border:1px solid #d5b675; border-radius:12px; padding:12px; margin:18px 0; background:#fff4d9; }
.lb-install-browser p { margin:0; }
.lb-install-link-button { border:0; background:transparent; color:#14213d; text-decoration:underline; min-height:44px; padding:8px; font:700 14px system-ui; cursor:pointer; }
.lb-install-browser [role=status] { display:block; font-size:12px; overflow-wrap:anywhere; }
.lb-install-page { margin:0; background:#f7f6f2; min-height:100svh; }
.lb-install-landing { max-width:440px; margin:0 auto; padding:max(24px,env(safe-area-inset-top)) 28px max(24px,env(safe-area-inset-bottom)); text-align:center; }
.lb-install-brand { display:inline-flex; align-items:center; min-height:44px; color:#14213d; text-decoration:none; font-weight:850; font-size:16px; }
.lb-install-home-preview { position:relative; width:186px; margin:32px auto 28px; padding:25px 30px 19px; border:2px solid #e1e4d9; border-radius:38px; background:#e9eee3; transform:rotate(-4deg); }
.lb-install-home-preview img { display:block; border-radius:28px; box-shadow:0 5px 0 #14213d18; }
.lb-install-home-preview>span:last-child { display:block; font-size:12px; font-weight:700; margin-top:9px; }
.lb-install-spark { position:absolute; right:-12px; top:-12px; color:#af8630; font-size:38px; }
.lb-install-landing h1 { font:900 44px/1.06 system-ui,sans-serif; color:#14213d; letter-spacing:-1.8px; margin:0 0 18px; }
.lb-install-landing h1 em { font-style:normal; color:#227b6e; }
.lb-install-landing>p { color:#526176; font-size:15px; margin:0 0 20px; }
.lb-install-features { display:flex; justify-content:center; gap:8px; margin:20px 0 26px; }
.lb-install-features span { padding:7px 13px; border:1px solid #d9dfd4; border-radius:25px; color:#226f65; background:#f0f3eb; font-size:12px; font-weight:800; }
.lb-install-main-action { width:100%; box-shadow:0 4px 0 #a0aab6; }
.lb-install-continue { display:flex; justify-content:center; align-items:center; min-height:48px; margin:14px 0; color:#14213d; font-weight:700; font-size:14px; text-decoration:none; }
.lb-install-nojs { text-align:left; padding:16px; border:1px solid #d9dfd4; border-radius:16px; margin-top:24px; font-size:14px; }
.lb-install-nojs p:last-child { margin-bottom:0; }
@media(max-width:360px) {
  .lb-install-banner { gap:8px; padding:13px 10px; grid-template-columns:36px 1fr auto; }
  .lb-install-banner>img { width:36px; height:36px; }
  .lb-install-banner strong { font-size:12px; }
  .lb-install-banner span { font-size:11px; }
  .lb-install-banner .lb-install-button { padding:8px 10px; }
  .lb-install-dialog { padding:24px 17px 18px; }
  .lb-install-landing h1 { font-size:38px; }
}
@media(max-height:620px) {
  .lb-install-home-preview { margin:16px auto 20px; padding:15px 30px; }
  .lb-install-home-preview img { width:80px; height:80px; margin:auto; }
  .lb-install-dialog { max-height:calc(100dvh - 16px); padding-top:18px; }
  .lb-install-icon { width:48px; height:48px; margin-bottom:12px; }
}
@media(display-mode:standalone) {
  [data-install-entry], [data-install-action], [data-install-banner] { display:none!important; }
}

/* Demo links share the same 44px touch target as its buttons. */
a.demo-back[data-install-entry] { display:flex; justify-content:center; align-items:center; min-height:44px; text-decoration:none; }
