body.eclore-pwa-install-page {
  margin: 0;
  min-height: 100vh;
  min-height: 100svh;
  background: #f5ede2;
  color: #5a3825;
  padding: max(32px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(32px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));
}
.eclore-pwa { box-sizing: border-box; color: #5a3825; font: 20px/1.65 Georgia, 'Times New Roman', serif; }
.eclore-pwa *, .eclore-pwa *::before, .eclore-pwa *::after { box-sizing: border-box; }
.eclore-pwa [hidden], .eclore-pwa[hidden] { display: none !important; }
.eclore-pwa-install { max-width: 1100px; margin: 0 auto; padding: 28px 0; }
.eclore-pwa .eclore-pwa-topline { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-bottom: 42px; }
.eclore-pwa .eclore-pwa-brand { margin: 0; font: 18px/1.5 Arial, sans-serif; letter-spacing: .06em; }
.eclore-pwa .eclore-pwa-preview { display: inline-block; margin: 0; border: 1px solid #c6ae8a; border-radius: 999px; padding: 5px 14px; background: #fffaf2; font: 18px/1.5 Arial, sans-serif; }
.eclore-pwa .eclore-pwa-grid { display: grid; grid-template-columns: minmax(260px, .88fr) minmax(0, 1.12fr); align-items: start; gap: 68px; }
.eclore-pwa .eclore-pwa-art { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 50px 28px; border: 1px solid #e2d3bc; border-radius: 180px 180px 28px 28px; background: #fbf6ee; }
.eclore-pwa .eclore-pwa-icon { display: block; width: 256px; max-width: 100%; height: auto; border-radius: 52px; }
.eclore-pwa .eclore-pwa-art-caption { margin: 28px 0 0; text-align: center; font-size: 20px; font-style: italic; }
.eclore-pwa h1 { margin: 0 0 24px; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(36px, 4vw, 54px); font-weight: normal; line-height: 1.12; letter-spacing: -.025em; color: #5a3825; }
.eclore-pwa h2 { margin: 28px 0 16px; font: normal 25px/1.3 Georgia, 'Times New Roman', serif; color: #5a3825; }
.eclore-pwa p { margin: 0 0 20px; }
.eclore-pwa .eclore-pwa-tagline { font-size: 22px; line-height: 1.55; }
.eclore-pwa .eclore-pwa-status { color: #684e3c; font-size: 19px; }
.eclore-pwa .eclore-pwa-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 24px; margin-top: 26px; }
.eclore-pwa .eclore-pwa-button { display: inline-flex; justify-content: center; align-items: center; min-height: 54px; border: 2px solid #5a3825; border-radius: 12px; padding: 12px 22px; background: #5a3825; color: #fffdf9; font: 20px/1.4 Arial, sans-serif; text-align: center; text-decoration: none; cursor: pointer; }
.eclore-pwa .eclore-pwa-button:hover { background: #41281a; border-color: #41281a; color: #fffdf9; }
.eclore-pwa a:not(.eclore-pwa-button) { color: #5a3825; text-underline-offset: 5px; }
.eclore-pwa a:focus-visible, .eclore-pwa button:focus-visible { outline: 3px solid #5a3825; outline-offset: 5px; }
.eclore-pwa .eclore-pwa-instructions { margin-top: 32px; padding-top: 4px; }
.eclore-pwa .eclore-pwa-instructions ol { margin: 0; padding-left: 28px; }
.eclore-pwa .eclore-pwa-instructions li { padding-left: 5px; margin: 0 0 12px; }
.eclore-pwa .eclore-pwa-note { margin-top: 30px; font-size: 18px; color: #6d5746; }
.eclore-pwa.eclore-pwa-panel { max-width: min(1100px,calc(100% - 32px)); margin: 32px auto; border: 1px solid var(--piapp-line,#e2d3bc); border-radius: 20px; padding: 24px; background: var(--piapp-surface,#fbf6ee); color: var(--piapp-ink,#5a3825); }
html[data-piapp-theme="dark"] .eclore-pwa.eclore-pwa-panel { background:#211d1a; color:#f5ede2; border-color:#514237; }
.eclore-pwa-panel .eclore-pwa-panel-layout { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.eclore-pwa-panel .eclore-pwa-panel-text { min-width: 0; }
.eclore-pwa-panel h2 { margin: 0 0 8px; font-size: 25px; }
.eclore-pwa-panel p { margin: 0; font-size: 18px; }
.eclore-pwa-panel .eclore-pwa-actions { margin: 0; flex-shrink: 0; }
@media (min-width: 900px) {
  .eclore-pwa-install { padding-top: 42px; }
  .eclore-pwa .eclore-pwa-copy { padding-top: 18px; }
}
@media (max-width: 760px) {
  body.eclore-pwa-install-page { padding-left: max(20px, env(safe-area-inset-left)); padding-right: max(20px, env(safe-area-inset-right)); }
  .eclore-pwa-install { padding-top: 4px; }
  .eclore-pwa .eclore-pwa-topline { margin-bottom: 28px; }
  .eclore-pwa .eclore-pwa-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .eclore-pwa .eclore-pwa-art { max-width: 380px; width: 100%; margin: 0 auto; padding: 30px 22px; }
  .eclore-pwa .eclore-pwa-icon { width: 256px; }
  .eclore-pwa .eclore-pwa-art-caption { margin-top: 20px; }
  .eclore-pwa h1 { font-size: 38px; }
  .eclore-pwa .eclore-pwa-actions { align-items: stretch; }
  .eclore-pwa .eclore-pwa-button { width: 100%; }
  .eclore-pwa .eclore-pwa-actions > a:not(.eclore-pwa-button) { padding: 10px 0; }
  .eclore-pwa-panel .eclore-pwa-panel-layout { align-items: stretch; flex-direction: column; }
}
