.sheet button:focus-visible { outline: 2px solid var(--sheet-focus, #82986b); outline-offset: 3px; }
.sheet svg { width: 24px; height: 24px; flex: none; }
/* Only the inner body scrolls; the shell must not move on focus or reveal. */
.sheet { position: fixed; inset: auto 0 0; margin: 0; padding: 0; width: 100%; max-width: none; height: min(74dvh, 690px); max-height: 90dvh; border: 0; border-radius: 24px 24px 0 0; background: var(--sheet-surface, #fbfaf7); color: var(--sheet-ink, #25382f); box-shadow: 0 -8px 50px #0002; overflow: clip; font-family: inherit; touch-action: pan-y; overscroll-behavior: contain; }
.sheet[open] { display: flex; flex-direction: column; }
.sheet::backdrop { background: var(--sheet-backdrop, #071e1966); backdrop-filter: blur(2px); }
.sheet__handle { width: 32px; height: 4px; background: var(--sheet-handle, #d9ded6); border-radius: 4px; margin: 10px auto 0; flex: none; }
.sheet__header { display: flex; justify-content: space-between; align-items: center; padding: 20px 24px 18px; border-bottom: 1px solid var(--sheet-border, #e7e9df); flex: none; }
.sheet__header p { margin: 0 0 6px; font-size: 9px; letter-spacing: .14em; color: var(--sheet-muted, #829080); font-weight: 650; }
.sheet__header h2 { font-size: 21px; letter-spacing: -.035em; margin: 0; font-weight: 650; }
.sheet button { border: 0; font: inherit; cursor: pointer; }
.sheet__close { padding: 10px; display: grid; place-items: center; border-radius: 50%; background: var(--sheet-control, #eef0e9); color: var(--sheet-control-ink, #536452); min-width: 44px; min-height: 44px; }
.sheet__close svg { width: 18px; height: 18px; }
@media (min-width: 700px) {
  .sheet { inset: 16px 16px 16px auto; width: 420px; max-width: calc(100vw - 32px); height: auto; max-height: none; border-radius: 20px; }
  .sheet__handle { display: none; }
  .sheet__header { padding-top: 28px; }
}
.sheet__heading { min-width: 0; overflow-wrap: anywhere; }
.sheet__close { flex: none; }
.sheet__body { overflow-y: auto; overscroll-behavior: contain; touch-action: pan-y; flex: 1; min-height: 0; scrollbar-width: thin; }
.sheet__body:focus-visible { outline: 2px solid var(--sheet-focus, #82986b); outline-offset: -3px; }
@media (max-width: 699px) {
  .sheet__header { padding-left: max(var(--edge), env(safe-area-inset-left)); padding-right: max(var(--edge), env(safe-area-inset-right)); }
}
