/**
 * Block DESIGN-2 — Mobile-Polish (Bottom-Sheet, Toast, FAB)
 */
html[data-theme='t9'] .bottom-sheet,
html[data-theme='owner'] .bottom-sheet {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: var(--t9-bg-1);
  border-top: 1px solid var(--t9-line);
  border-radius: var(--t9-radius-lg) var(--t9-radius-lg) 0 0;
  padding: 24px 16px;
  max-height: 80vh;
  overflow-y: auto;
  transform: translateY(100%);
  transition: transform 0.3s ease;
  z-index: 90;
  box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.35);
}
html[data-theme='t9'] .bottom-sheet.open,
html[data-theme='owner'] .bottom-sheet.open {
  transform: translateY(0);
}
html[data-theme='t9'] .bottom-sheet-handle,
html[data-theme='owner'] .bottom-sheet-handle {
  width: 36px;
  height: 4px;
  background: var(--t9-text-dim);
  border-radius: 2px;
  margin: 0 auto 16px;
}
html[data-theme='t9'] .toast-host,
html[data-theme='owner'] .toast-host {
  position: fixed;
  bottom: 100px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1000;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  pointer-events: none;
}
html[data-theme='t9'] .toast,
html[data-theme='owner'] .toast {
  pointer-events: auto;
  background: var(--t9-bg-3);
  color: var(--t9-text);
  border: 1px solid var(--t9-line-strong);
  border-radius: var(--t9-radius-md);
  padding: 12px 18px;
  box-shadow: var(--t9-glow-soft);
  max-width: min(92vw, 420px);
  font-size: 14px;
}
html[data-theme='t9'] .toast.error,
html[data-theme='owner'] .toast.error {
  border-color: var(--t9-alert);
}
html[data-theme='t9'] .toast.ok,
html[data-theme='owner'] .toast.ok {
  border-color: var(--t9-ok);
}
html[data-theme='t9'] .fab,
html[data-theme='owner'] .fab {
  position: fixed;
  bottom: 100px;
  right: 20px;
  width: 56px;
  height: 56px;
  min-width: 56px;
  min-height: 56px;
  border-radius: 28px;
  background: var(--t9-cyan);
  color: var(--t9-bg-0);
  box-shadow:
    0 8px 24px rgba(92, 228, 255, 0.45),
    var(--t9-glow);
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  cursor: pointer;
  z-index: 60;
  font-size: 22px;
}
html[data-theme='t9'] .pull-hint,
html[data-theme='owner'] .pull-hint {
  text-align: center;
  color: var(--t9-text-dim);
  font-size: 11px;
  padding: 8px;
}
@media (max-width: 768px) {
  html[data-theme='t9'] button:not(.fab):not(.leaflet-control),
  html[data-theme='owner'] button:not(.fab):not(.leaflet-control),
  html[data-theme='t9'] a.btn,
  html[data-theme='owner'] a.btn,
  html[data-theme='t9'] .tab-item,
  html[data-theme='owner'] .tab-item,
  html[data-theme='t9'] .nav-item,
  html[data-theme='owner'] .nav-item {
    min-height: var(--t9-touch-min);
    min-width: var(--t9-touch-min);
  }
}
