.app-install[hidden] { display: none; }
.app-install { background: #101010; color: #c8c8c8; border-bottom: 1px solid #242424; padding: 0 12px; text-align: center; }
.app-install__line { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; margin: 0; font-size: .875rem; line-height: 1.4; }
.app-install__link { appearance: none; background: transparent; color: #e4bd6d; border: 0; border-radius: 0; padding: 10px 0; min-height: 40px; font: inherit; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; cursor: pointer; }
.app-install__link:hover { color: #ffe2a9; }
.app-install__link:focus-visible { outline: 2px solid #e4bd6d; outline-offset: 3px; }
.app-install__button { background: #d6a650; color: #000; border: 0; border-radius: 8px; padding: 14px 20px; font: inherit; font-size: 1rem; font-weight: 700; cursor: pointer; min-height: 48px; }
.app-install__button:hover { background: #e4bd6d; }
.app-install__button:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.app-dialog { background: #151515; color: #fff; border: 1px solid #d6a650; border-radius: 16px; padding: 28px; width: min(440px, calc(100% - 32px)); max-height: 85vh; margin: auto; }
.app-dialog::backdrop { background: #000b; }
.app-dialog h2 { color: #fff; font-size: 1.3rem; margin: 0 0 16px; }
.app-dialog p { font-size: 1rem; line-height: 1.6; margin-bottom: 24px; }
@media (display-mode: standalone) { .app-install { display: none; } }

.app-dialog__instructions { white-space: pre-line; }
.app-copy { display: block; width: 100%; min-height: 48px; margin: 0 0 12px; padding: 12px 16px; border: 0; border-radius: 8px; color: #000; background: #d6a650; font: inherit; font-weight: 700; cursor: pointer; }
.app-copy[hidden] { display: none; }
.app-copy:focus-visible { outline: 3px solid white; outline-offset: 3px; }
.app-dialog .app-copy-status { color: #e4bd6d; font-size: 1rem; margin: 0 0 12px; }
.app-copy-status:empty { display: none; }
.app-dialog form button { width: 100%; }
.app-dialog:has(.app-copy:not([hidden])) form button { background: transparent; border: 1px solid #777; color: white; }
@media (max-width: 768px) {
 .app-dialog { width: 100%; max-width: 100%; max-height: 85dvh; box-sizing: border-box; margin: auto 0 0; padding: 24px 24px max(24px, env(safe-area-inset-bottom)); border-radius: 20px 20px 0 0; border-bottom: 0; }
 .app-dialog h2 { font-size: 1.25rem; }
 .app-dialog p { line-height: 1.55; }
}
