/* Optional installation UI; keep the shared finder layout and storage intact. */
[hidden] { display: none !important; }
.site-header nav { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; }
.pwa-install-link { color: #1f4335; font: 700 14px/1.3 Arial, sans-serif; padding: 11px 14px; min-height: 44px; display: inline-flex; align-items: center; text-decoration: none; border: 1px solid #acb9b0; border-radius: 999px; }
.pwa-install-link:hover { background: #e7ede4; }
.app-installed .pwa-install-link { display: none; }
.app-notice { margin: 16px auto; max-width: 1250px; padding: 14px 20px; background: #fff4d8; border: 1px solid #bd9c52; border-radius: 12px; color: #3f361f; font: 15px/1.55 Arial, sans-serif; }
.app-notice p { margin: 0; }
.app-notice button, .app-notice a { font: inherit; color: inherit; }
.app-notice button { margin-top: 8px; padding: 8px 14px; min-height: 44px; border: 1px solid currentColor; border-radius: 8px; background: transparent; cursor: pointer; }
.app-notice a { font-weight: 700; }
.app-update-notice { background: #e7ede4; border-color: #acb9b0; color: #1f4335; }
.app-page { margin: 0; background: #f5f1e8; color: #203e32; font: 17px/1.65 system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
.app-page * { box-sizing: border-box; }
.app-page a { color: #1f5945; text-underline-offset: 4px; }
.app-page a:focus-visible, .app-page button:focus-visible, .pwa-install-link:focus-visible { outline: 3px solid #b76a20; outline-offset: 4px; }
.app-page-header { max-width: 1040px; padding: 24px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid #d7d1c7; }
.app-page-brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; font-weight: 750; }
.app-page-brand img { width: 40px; height: 40px; border-radius: 10px; }
.app-page-main { max-width: 820px; margin: auto; padding: 52px 24px 64px; }
.app-page .eyebrow { margin: 0 0 10px; color: #56694c; font-size: 13px; text-transform: uppercase; letter-spacing: .13em; font-weight: 750; }
.app-page h1 { font: 500 clamp(38px, 7vw, 60px)/1.06 Georgia, serif; letter-spacing: -.035em; margin: 0 0 22px; }
.app-page h2 { font-size: 22px; line-height: 1.3; margin: 0 0 12px; }
.app-page p { margin: 0 0 18px; }
.app-lead { max-width: 650px; font-size: 19px; }
.app-steps { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 28px 0; }
.app-card { background: #fffdf7; border: 1px solid #d7d1c7; border-radius: 18px; padding: 24px; }
.app-card ol { padding-left: 22px; margin: 0; }
.app-card li { padding-left: 3px; margin: 12px 0; }
.app-small { font-size: 14px; color: #56645c; }
.app-action { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 22px; border: 0; border-radius: 999px; background: #1f4335; color: #fff !important; text-decoration: none; font: 700 16px/1.4 system-ui, sans-serif; cursor: pointer; }
.app-action:hover { background: #315e49; }
.app-status { font-size: 15px; }
.app-page-footer { border-top: 1px solid #d7d1c7; max-width: 992px; margin: auto; padding: 24px; font-size: 14px; }
.app-offline-icon { display: block; width: 80px; height: 80px; border-radius: 20px; margin-bottom: 26px; }
@media (max-width: 600px) {
  .app-steps { grid-template-columns: 1fr; }
  .app-page-main { padding-top: 34px; }
  .app-page-header { font-size: 14px; padding: 18px 20px; }
  .app-card { padding: 22px; }
  .app-notice { margin: 12px 16px; }
  .pwa-install-link { font-size: 13px; }
}
@media (display-mode: standalone) {
  body { padding-top: env(safe-area-inset-top); padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); }
  body > footer { padding-bottom: max(32px, env(safe-area-inset-bottom)); }
  .compare-dock, .save-toast { bottom: calc(16px + env(safe-area-inset-bottom)); }
}
