.pwa-offline-indicator{top:max(16px, env(safe-area-inset-top,16px));z-index:9999;border-radius:var(--primitive-radius-xl);width:min(100vw - 32px,400px);font-family:var(--font-sans), system-ui, sans-serif;-webkit-backdrop-filter:blur(16px);opacity:0;pointer-events:none;align-items:flex-start;gap:12px;padding:12px 14px;transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .25s;display:flex;position:fixed;left:50%;transform:translate(-50%,-130%);box-shadow:0 16px 36px -6px #12181059,0 2px 8px -2px #12181029}.pwa-offline-indicator--visible{opacity:1;pointer-events:auto;transform:translate(-50%)}.pwa-offline-indicator--offline{color:#fff9f0;background-color:#1c1612f0;border:1px solid #dc644659}.pwa-offline-indicator--online{color:#f8f7f2;background-color:#182416f0;border:1px solid #6eb45a59}.pwa-offline-indicator__icon-box{border-radius:var(--primitive-radius-md);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;margin-top:1px;display:flex}.pwa-offline-indicator--offline .pwa-offline-indicator__icon-box{color:#fca5a5;background-color:#dc64462e;border:1px solid #dc644640}.pwa-offline-indicator--online .pwa-offline-indicator__icon-box{color:#86efac;background-color:#6eb45a2e;border:1px solid #6eb45a40}.pwa-offline-indicator__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.pwa-offline-indicator__title{letter-spacing:-.01em;font-size:13px;font-weight:600;line-height:1.3}.pwa-offline-indicator--offline .pwa-offline-indicator__title{color:#fff9f0}.pwa-offline-indicator--online .pwa-offline-indicator__title{color:#f8f7f2}.pwa-offline-indicator__desc{color:#f8f7f2b8;font-size:12px;font-weight:400;line-height:1.4}.pwa-offline-indicator__close{border-radius:var(--primitive-radius-full);color:#f8f7f28c;cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-top:2px;margin-left:2px;padding:0;transition:color .15s,background-color .15s;display:flex}.pwa-offline-indicator__close:hover{color:#fff;background-color:#ffffff1f}.pwa-install-modal{z-index:9998;pointer-events:auto;justify-content:center;align-items:flex-end;padding:16px;display:flex;position:fixed;inset:0}@media (min-width:640px){.pwa-install-modal{align-items:center}}.pwa-install-modal__backdrop{-webkit-backdrop-filter:blur(4px);background-color:#141a1273;animation:.25s ease-out pwa-fade-in;position:absolute;inset:0}.pwa-install-modal__card{z-index:1;background-color:var(--surface);border:1px solid var(--line);border-radius:var(--primitive-radius-2xl);width:100%;max-width:440px;box-shadow:var(--primitive-shadow-hero);padding:24px;animation:.3s cubic-bezier(.16,1,.3,1) pwa-slide-up;position:relative}.pwa-install-modal__header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.pwa-install-modal__icon{border-radius:var(--primitive-radius-lg);background-color:var(--primary);color:#f8f7f2;width:48px;height:48px;box-shadow:var(--primitive-shadow-subtle);flex-shrink:0;justify-content:center;align-items:center;display:flex}.pwa-install-modal__close{border-radius:var(--primitive-radius-full);border:1px solid var(--line);background-color:var(--surface-raised);width:32px;height:32px;color:var(--muted);cursor:pointer;justify-content:center;align-items:center;transition:all .2s;display:flex}.pwa-install-modal__close:hover{color:var(--ink);border-color:var(--line-hover);background-color:var(--soft)}.pwa-install-modal__title{font-family:var(--font-heading), sans-serif;color:var(--ink);margin-bottom:6px;font-size:20px;font-weight:600;line-height:1.25}.pwa-install-modal__desc{font-family:var(--font-sans), system-ui, sans-serif;color:var(--muted);margin-bottom:20px;font-size:14px;line-height:1.5}.pwa-ios-guide{background-color:var(--soft);border:1px solid var(--line);border-radius:var(--primitive-radius-xl);flex-direction:column;gap:10px;margin-bottom:20px;padding:14px 16px;display:flex}.pwa-ios-guide__step{color:var(--ink);align-items:center;gap:10px;font-size:13px;font-weight:500;display:flex}.pwa-ios-guide__step-num{border-radius:var(--primitive-radius-full);background-color:var(--surface-raised);border:1px solid var(--line);width:22px;height:22px;color:var(--muted);flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.pwa-ios-guide__step-text{flex-wrap:wrap;flex:1;align-items:center;gap:6px;display:inline-flex}.pwa-ios-guide__badge{background-color:var(--surface-raised);border:1px solid var(--line);border-radius:var(--primitive-radius-sm);align-items:center;gap:4px;padding:2px 7px;font-weight:600;display:inline-flex}.pwa-install-modal__actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.pwa-install-modal__btn{font-family:var(--font-sans), system-ui, sans-serif;border-radius:var(--primitive-radius-full);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.pwa-install-modal__btn--secondary{color:var(--muted);background-color:#0000}.pwa-install-modal__btn--secondary:hover{color:var(--ink)}.pwa-install-modal__btn--primary{background-color:var(--primary);color:#f8f7f2;box-shadow:var(--primitive-shadow-subtle)}.pwa-install-modal__btn--primary:hover{background-color:var(--primary-hover)}@keyframes pwa-fade-in{0%{opacity:0}to{opacity:1}}@keyframes pwa-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
