/* Scoped presentation. Uses the existing local Source fonts and workspace tokens. */
.pwa-button{font:600 1rem/1.35 var(--sans,'Source Sans 3',Arial,sans-serif);min-height:44px;padding:11px 17px;border:1px solid var(--ink,#192724);border-radius:7px;background:var(--ink,#192724);color:var(--ground,#f8f5ee);cursor:pointer;max-width:100%;}
.pwa-button.pwa-secondary{background:var(--surface,#fffdf9);color:var(--ink,#192724);border-color:var(--line,#d9ddd3)}
.pwa-button:disabled{opacity:.55;cursor:default}.pwa-button:focus-visible,.pwa-details summary:focus-visible{outline:3px solid var(--brass,#a5593c);outline-offset:3px}
.pwa-install-entry{width:100%;text-align:left;margin-top:12px;font-size:.9375rem}
.pwa-install-progress{font:400 .9375rem/1.5 var(--sans,'Source Sans 3',Arial,sans-serif);color:var(--muted,#59645e);margin:12px 0 0}
.pwa-dialog{box-sizing:border-box;width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:26px;border:1px solid var(--line,#d9ddd3);border-radius:16px;background:var(--surface,#fffdf9);color:var(--ink,#192724);box-shadow:0 24px 100px #0003;overflow:auto;overscroll-behavior:contain}
.pwa-dialog::backdrop{background:#10251ba8}.pwa-close{display:block;margin:0 0 14px auto;min-height:44px;padding:8px 14px}
.pwa-dialog-heading{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.pwa-dialog-copy{flex:1 1 230px;min-width:0}.pwa-mascot{object-fit:contain;border-radius:25%;flex:none}
.pwa-dialog h2{font:500 1.875rem/1.12 var(--serif,'Source Serif 4',Georgia,serif);letter-spacing:-.025em;margin:0 0 8px;overflow-wrap:anywhere}.pwa-dialog p{font:400 1rem/1.5 var(--sans,'Source Sans 3',Arial,sans-serif);color:var(--muted,#59645e);margin:0}
.pwa-steps{list-style:none;counter-reset:step;padding:0;margin:26px 0;display:grid;gap:18px}.pwa-steps li{counter-increment:step;display:grid;grid-template-columns:32px 1fr;gap:13px;font:400 1.0625rem/1.5 var(--sans,'Source Sans 3',Arial,sans-serif)}
.pwa-steps li:before{content:counter(step);display:grid;place-items:center;align-self:start;width:30px;height:30px;border:1px solid var(--line,#d9ddd3);border-radius:50%;font-weight:600;color:var(--brass,#a5593c)}
.pwa-details{font:400 .9375rem/1.5 var(--sans,'Source Sans 3',Arial,sans-serif);margin-top:14px}.pwa-details summary{padding:10px 0;min-height:44px;cursor:pointer;color:var(--ink,#192724)}.pwa-details p{font-size:.9375rem;overflow-wrap:anywhere;white-space:pre-wrap}
.pwa-dialog-actions{margin-top:26px;display:flex;gap:10px;flex-wrap:wrap}.pwa-dialog-actions>*{flex:1}.pwa-continuity{margin-top:22px!important}
.pwa-notice{border:1px solid var(--line,#d9ddd3);background:var(--surface-2,#eff1e9);color:var(--ink,#192724);border-radius:10px;padding:17px 19px;display:flex;align-items:center;gap:18px;margin-bottom:22px}
.pwa-notice-main{display:flex;align-items:flex-start;gap:14px;flex:1;min-width:0}.pwa-notice-words{min-width:0}.pwa-notice h2{font:600 1.0625rem/1.35 var(--sans,'Source Sans 3',Arial,sans-serif);letter-spacing:0;margin:0 0 5px}.pwa-notice p{font:400 1rem/1.5 var(--sans,'Source Sans 3',Arial,sans-serif);margin:0;color:var(--muted,#59645e);overflow-wrap:anywhere}.pwa-notice .pwa-button{flex:none}.pwa-draft-note{margin-top:6px!important}.pwa-pending{border-left:3px solid var(--brass,#a5593c)}.pwa-success{border-left:3px solid var(--ok-ink,#28665d)}
@media(max-width:580px){.pwa-dialog{padding:18px;border-radius:12px;padding-bottom:max(20px,env(safe-area-inset-bottom))}.pwa-dialog-heading{align-items:flex-start;gap:12px}.pwa-dialog-heading .pwa-mascot{width:48px;height:48px}.pwa-dialog h2{font-size:1.6rem}.pwa-dialog-actions{flex-direction:column}.pwa-dialog-actions>*{flex:auto;width:100%}.pwa-notice{padding:15px;align-items:stretch;flex-direction:column;gap:13px}.pwa-notice-main{gap:11px}.pwa-notice-main .pwa-mascot{width:36px;height:36px}.pwa-notice>.pwa-button{align-self:flex-start}.pwa-steps{margin-block:22px}.pwa-steps li{gap:10px;font-size:1rem}}
@media(prefers-reduced-motion:reduce){.pwa-dialog,.pwa-notice,.pwa-button{animation:none;transition:none}}
