.pwa-connection{margin-left:auto;border-left:1px solid var(--rule,#cfc7ba);padding-left:.8rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.pwa-connection[data-online="false"],.offline-state[data-online="false"]{color:var(--rubric,#8f332d)}.pwa-update-banner{position:fixed;left:50%;bottom:1rem;transform:translateX(-50%);z-index:50;background:var(--sheet,#faf7f0);border:1px solid var(--ink,#1f1d19);padding:.7rem .9rem;display:flex;gap:1rem;align-items:center;box-shadow:0 10px 32px rgba(0,0,0,.12)}.offline-title{display:flex;justify-content:space-between;gap:1rem;align-items:start}.offline-state{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;border-top:2px solid currentColor;padding-top:.3rem}.offline-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0}.offline-kv{display:grid;grid-template-columns:minmax(9rem,.8fr) 1.2fr;gap:.45rem .8rem;font-size:.86rem}.offline-kv span{color:var(--muted,#6d675f)}.offline-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}.offline-pack-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--rule,#cfc7ba);border-left:1px solid var(--rule,#cfc7ba);margin-top:.8rem}.offline-pack{appearance:none;background:transparent;color:inherit;border:0;border-right:1px solid var(--rule,#cfc7ba);border-bottom:1px solid var(--rule,#cfc7ba);padding:1rem;text-align:left;min-height:5rem}.offline-pack:hover{background:rgba(143,51,45,.05)}.offline-pack strong,.offline-pack span{display:block}.offline-pack span{font-size:.78rem;color:var(--muted,#6d675f);margin-top:.3rem}.offline-pack.strong{border-top:2px solid var(--rubric,#8f332d)}.offline-note{min-height:1.3rem;font-size:.82rem;color:var(--muted,#6d675f)}.offline-books{max-height:30rem;overflow:auto;border-top:1px solid var(--rule,#cfc7ba)}.offline-book{display:grid;grid-template-columns:minmax(12rem,1fr) auto auto;gap:.8rem;align-items:center;padding:.65rem 0;border-bottom:1px solid var(--rule,#cfc7ba)}.offline-book small{display:block;color:var(--muted,#6d675f)}.offline-badge{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.offline-badge[data-stored="true"]{color:var(--lapis,#314c5d)}.offline-boundary{border-left:2px solid var(--rubric,#8f332d);margin-top:1rem}.offline-boundary p{margin-bottom:0}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem}@media(max-width:850px){.offline-grid{grid-template-columns:1fr}.offline-pack-grid{grid-template-columns:1fr 1fr}.offline-book{grid-template-columns:1fr auto}.offline-book .offline-badge{grid-row:2;grid-column:1}.pwa-update-banner{width:calc(100% - 2rem);justify-content:space-between}}@media(max-width:520px){.offline-pack-grid{grid-template-columns:1fr}.offline-title{display:block}.offline-state{display:inline-block;margin-bottom:1rem}}
