/* Installable H3LL (lane w3-pwa): update notice above the shared dock and the Sanctuary install card.
 * Smoked glass, aged bronze edge, live serif headings; no motion beyond a guarded fade. */
.pwa-update { position:fixed; z-index:45; left:50%; bottom:calc(var(--pwa-dock-clearance,88px) + 10px); width:min(calc(100% - 24px),600px); transform:translateX(-50%); color:#ecdccd; }
.pwa-update[hidden] { display:none; }
.pwa-update__inner { display:grid; grid-template-columns:40px minmax(0,1fr); gap:6px 12px; align-items:start; padding:14px 16px 12px; border:1px solid #a5846973; border-radius:10px; background:linear-gradient(150deg,#1b141dee,#0b090ef2); box-shadow:0 18px 40px #000000b3,inset 0 1px 0 #ffffff12; -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); animation:pwa-update-in .32s ease-out both; }
.pwa-update__mark { width:40px; height:auto; max-height:62px; object-fit:contain; filter:drop-shadow(0 0 8px #8c1f1f66); }
.pwa-update__copy h2 { margin:0; font:500 1.15rem/1.3 'Cormorant Garamond',Georgia,serif; letter-spacing:.01em; overflow-wrap:anywhere; }
.pwa-update__copy p { margin:4px 0 0; font:.84rem/1.5 Manrope,Arial,sans-serif; color:#cdbdb1; }
.pwa-update__actions { grid-column:1 / -1; display:flex; flex-wrap:wrap; gap:4px 14px; align-items:center; }
.pwa-update__actions .application-action { width:auto; min-width:150px; min-height:44px; margin:4px 0 0; }
.pwa-update__actions .application-text-action { min-height:44px; padding:0 4px; }
.pwa-update button:focus-visible { outline:2px solid var(--character-focus,#e2b7f4); outline-offset:3px; }
body.chat-keyboard-open .pwa-update { display:none; }
/* In a conversation the composer sits on the dock: the notice drops below the chat header instead. */
body.is-chat .pwa-update { top:calc(var(--chat-viewport-top,0px) + env(safe-area-inset-top,0px) + 80px); bottom:auto; }
@keyframes pwa-update-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce) { .pwa-update__inner { animation:none; } }
@media (max-width:359px) { .pwa-update { width:calc(100% - 16px); } .pwa-update__inner { grid-template-columns:32px minmax(0,1fr); padding:12px; } .pwa-update__mark { width:32px; } }

.pwa-install .pwa-install__card { grid-template-columns:minmax(0,1fr); align-items:start; }
/* The mark sits above the copy so the text keeps the full card width at 320px and 200% text. */
.pwa-install__mark { width:56px; height:56px; border-radius:12px; box-shadow:0 0 0 1px #a5846966,0 8px 18px #0009; }
.pwa-install__copy { display:grid; gap:6px; min-width:0; }
.pwa-install__copy h3 { overflow-wrap:anywhere; }
.pwa-install__steps { margin:4px 0 0; padding-left:1.3em; font:.86rem/1.6 Manrope,Arial,sans-serif; color:var(--h3ll-muted,#b9a494); }
.pwa-install__update { margin:6px 0 0; font:.86rem/1.5 Manrope,Arial,sans-serif; color:#d9c4ae; }
.pwa-install__card button:focus-visible { outline:2px solid var(--character-focus,#e2b7f4); outline-offset:3px; }
@media (max-width:359px) { .pwa-install__mark { width:44px; height:44px; } }
@media (forced-colors:active) { .pwa-update__inner { background:Canvas; color:CanvasText; border-color:CanvasText; -webkit-backdrop-filter:none; backdrop-filter:none; } .pwa-update__mark,.pwa-install__mark { display:none; } }
