.tl-app { background:#eceafb; color:#282d4b; padding-block:22px; scroll-margin-top:16px; }
.tl-app-inner {
  width:min(1140px,calc(100% - 40px));
  margin-inline:auto;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px 16px;
}
.tl-app-icon { display:block; width:58px; height:58px; border-radius:15px; }
.tl-app h2 { font-size:clamp(1.3rem,3vw,1.65rem); line-height:1.12; margin:0 0 4px; }
.tl-app p { font-size:1rem; margin:0; max-width:68ch; }
.tl-app-button,.tl-app-close { border:0; padding:8px 16px; min-height:44px; border-radius:0 24px 24px 0; font-weight:700; }
.tl-app-button { background:#2867a5; color:#fff; }
.tl-app-button:hover,.tl-app-button:focus-visible { background:#1f548a; color:#fff; }
.tl-app-close { background:#dcd7f5; color:#282d4b; }
.tl-app [hidden] { display:none!important; }
.tl-app dialog { width:min(480px,calc(100% - 32px)); background:#fff8ee; color:#282d4b; padding:24px; border:1px solid #49527f38; border-radius:0 24px 24px 0; }
.tl-app dialog::backdrop { background:#282d4b80; }
.tl-app-dialog-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:15px; }
.tl-mobile-app .tl-app-info-only { display:none; }
.tl-mobile-app .tl-app:not(:has(#tl-install:not([hidden]))) { display:none; }
.tl-mobile-app .tl-app-inner { display:block; }
@media (max-width:760px) {
  :is(.tl-app,.package) .tl-app-info-only { display:none; }
  .tl-app:not(:has(#tl-install:not([hidden]))) { display:none; }
  .tl-app-inner { display:block; }
}
@media (display-mode:standalone) {
  .tl-app,.package .tl-app-info-only { display:none; }
}
