.profile-dropdown { min-width:200px; z-index:60; }
.profile-dropdown .profile-action {
  width:100%; min-height:44px; justify-content:flex-start; border:0; background:transparent;
}
.profile-dropdown .profile-action:hover, .profile-dropdown .profile-action:focus-visible { background:var(--wash); }
.accessibility-intro { margin:0 0 8px; line-height:1.6; }
.accessibility-field { padding:22px 0; border-bottom:1px solid var(--line); }
.accessibility-field > label { font-size:15px; font-weight:600; }
.accessibility-field p { margin:8px 0 12px; line-height:1.6; }
.accessibility-field select { width:100%; min-height:48px; }
.accessibility-checkbox { display:flex; align-items:center; gap:12px; min-height:44px; cursor:pointer; }
.accessibility-checkbox input { width:22px; height:22px; flex:none; accent-color:var(--accent-ink); }
.accessibility-status { margin:16px 0 0; min-height:1.5em; }
.accessibility-dialog .button { min-height:44px; }
.visually-hidden {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip-path:inset(50%); white-space:nowrap; border:0;
}

.picker { width:100%; max-width:100%; contain:inline-size; }
.picker-trigger { min-width:0; max-width:100%; flex-wrap:nowrap; }
.picker-selections { display:flex; flex:1; min-width:0; gap:6px; overflow:hidden; }
.picker-selections .selection-tag { min-width:0; flex:0 1 auto; }
.picker-selections .selection-tag > .icon, .picker-trigger > .icon { flex-shrink:0; }
.selection-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.picker-selection-more { flex:none; font-size:12px; color:var(--muted); white-space:nowrap; }
.picker-list { overscroll-behavior:contain; touch-action:pan-y; scrollbar-width:auto; }
.picker-option { touch-action:pan-y; }
.picker-option-copy { flex:1; min-width:0; overflow-wrap:anywhere; }
.picker-option-copy small { display:block; margin:3px 0 0; color:var(--muted); font-size:12px; }
.picker-option .check { flex:none; }
.picker-selection-count { margin:10px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
.picker-popup > .button { width:100%; margin-top:8px; }
.touch-picker-dialog {
  --picker-viewport-height:100dvh; --picker-viewport-top:0px;
  position:fixed; margin:0 auto; bottom:auto;
  top:calc(var(--picker-viewport-top) + max(16px,(var(--picker-viewport-height) - 720px)/2));
  width:min(640px,calc(100vw - 32px)); height:min(720px,calc(var(--picker-viewport-height) - 32px));
  max-height:calc(var(--picker-viewport-height) - 32px);
}
.touch-picker-dialog > .dialog-content { display:flex; padding:16px 20px; overflow:hidden; }
.touch-picker-dialog .picker-content { display:flex; flex:1; flex-direction:column; min-width:0; min-height:0; }
.touch-picker-dialog input[type=search] { width:100%; min-height:48px; font-size:16px; flex-shrink:0; }
.touch-picker-dialog .picker-list { flex:1; min-height:0; max-height:none; margin-top:12px; }
.touch-picker-dialog .picker-option { min-height:56px; padding:12px; font-size:16px; }
.touch-picker-dialog .picker-selection-count { flex-shrink:0; }
.touch-picker-dialog .button { min-height:48px; }
.touch-picker-dialog > .dialog-actions { flex-wrap:wrap; }
.touch-picker-dialog .dialog-actions > .button:first-child { margin-right:auto; }
:root:has(.touch-picker-dialog[open], .accessibility-dialog[open]) { overflow:hidden; }
:root[data-picker-mode=touch] .picker-trigger { min-height:48px; }
@media(any-pointer:coarse) {
  :root[data-picker-mode=auto] .picker-trigger { min-height:48px; }
  .picker-option, .save-bar > .button { min-height:48px; }
  .picker-popup input { font-size:16px; }
}

:root { --save-bar-height:0px; }
.save-bar { bottom:max(24px,env(safe-area-inset-bottom)); }
:root[data-save-bar-position=top] .save-bar { top:max(80px,env(safe-area-inset-top)); bottom:auto; }
:root[data-save-bar-position=top]:has(.save-bar:not([hidden])) { scroll-padding-top:calc(96px + var(--save-bar-height)); }
:root[data-save-bar-position=top]:has(.save-bar:not([hidden])) .page::before { content:''; display:block; height:calc(var(--save-bar-height) + 12px); }
:root[data-save-bar-position=bottom]:has(.save-bar:not([hidden])) { scroll-padding-bottom:calc(36px + var(--save-bar-height)); }
:root[data-save-bar-position=bottom]:has(.save-bar:not([hidden])) .page::after { content:''; display:block; height:max(0px,calc(var(--save-bar-height) - 60px)); }
@media(max-width:720px) {
  .save-bar { bottom:max(10px,env(safe-area-inset-bottom)); }
  :root[data-save-bar-position=top] .save-bar { top:max(72px,env(safe-area-inset-top)); }
  .accessibility-dialog { width:calc(100vw - 24px); max-height:calc(100dvh - 24px); }
  .accessibility-field select { font-size:16px; }
  .touch-picker-dialog {
    top:calc(var(--picker-viewport-top) + 8px); width:calc(100vw - 16px);
    height:calc(var(--picker-viewport-height) - 16px); max-height:calc(var(--picker-viewport-height) - 16px);
  }
  .touch-picker-dialog > .dialog-content { padding:12px; }
  .touch-picker-dialog > .dialog-head, .touch-picker-dialog > .dialog-actions { padding:12px; }
  .touch-picker-dialog > .dialog-actions { padding-bottom:max(12px,env(safe-area-inset-bottom)); gap:8px; }
  .touch-picker-dialog .dialog-actions > .button { flex:1; padding-inline:10px; }
  .touch-picker-dialog .dialog-actions > .button.primary { flex-basis:100%; }
}