/* One quiet canvas. Last-loaded, scoped rules replace historical onboarding layers. */
#onboarding-root.active {
  padding: 0 !important;
  background: var(--theme-bg) !important;
  background-image: none !important;
  color: var(--theme-text);
}
#onboarding-root .onboarding-shell {
  display: grid !important;
  position: relative;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: max(60px, calc(env(safe-area-inset-top) + 52px)) minmax(0, 1fr) auto auto !important;
  width: 100% !important;
  height: 100dvh !important;
  min-height: 0 !important;
  padding: 0 !important;
  background: var(--theme-bg) !important;
  background-image: none !important;
  color: var(--theme-text) !important;
  box-shadow: none !important;
  overflow: hidden;
}
#onboarding-root .onboarding-progress {
  grid-row: 1;
  display: flex !important;
  align-self: center;
  justify-self: center;
  align-items: center;
  gap: 5px !important;
  margin: env(safe-area-inset-top) 0 0 !important;
  padding: 0 !important;
  height: auto !important;
}
#onboarding-root .onboarding-step-count {
  white-space: nowrap;
  flex-shrink: 0;
  margin-right: 8px;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  color: var(--theme-text-muted);
}
#onboarding-root .onboarding-progress i {
  flex: 0 0 5px !important;
  width: 5px !important;
  height: 5px !important;
  background: var(--theme-line) !important;
  box-shadow: none !important;
}
#onboarding-root .onboarding-progress i.active,
#onboarding-root .onboarding-progress i.done {
  background: var(--mn-accent) !important;
}
#onboarding-root :is(.onboarding-close, .onboarding-back-top) {
  position: absolute !important;
  top: max(8px, env(safe-area-inset-top)) !important;
  width: 44px !important;
  height: 44px !important;
  padding: 10px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--theme-text-muted) !important;
}
#onboarding-root .onboarding-close {
  right: max(12px, calc((100vw - 540px) / 2)) !important;
}
#onboarding-root .onboarding-back-top {
  left: max(12px, calc((100vw - 540px) / 2)) !important;
}
#onboarding-root .onboarding-stage {
  height: auto !important;
  max-height: none !important;
  grid-row: 2;
  display: flex !important;
  flex-direction: column;
  justify-content: flex-start !important;
  align-self: stretch !important;
  width: 100%;
  max-width: 540px !important;
  min-height: 0 !important;
  box-sizing: border-box;
  margin: 0 auto !important;
  padding: 12px 24px 20px !important;
  gap: 22px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain;
}
#onboarding-root :is(.onboarding-welcome, .onboarding-story) {
  height: auto !important;
  align-content: start !important;
  display: grid !important;
  grid-template-areas: 'art' 'copy' !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  min-height: 0 !important;
  flex: none !important;
  gap: 18px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
#onboarding-root .onboarding-stage > * {
  flex: 0 0 auto !important;
  opacity: 1 !important;
  animation: none !important;
  transform: none !important;
}
#onboarding-root .onboarding-stage strong,
#onboarding-root .onboarding-name > span,
#onboarding-root .onboarding-personalize > span {
  color: var(--theme-text) !important;
}
#onboarding-root .onboarding-fields {
  flex: none !important;
}
#onboarding-root .onboarding-name {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px !important;
  margin: 0 !important;
}
#onboarding-root .onboarding-copy {
  padding: 0 !important;
}
#onboarding-root .onboarding-visual {
  grid-area: art;
  position: static !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  height: clamp(100px, 21dvh, 180px) !important;
  min-height: 0 !important;
  margin: 0 !important;
}
#onboarding-root .onboarding-visual::before,
#onboarding-root .onboarding-visual::after {
  content: none !important;
  display: none !important;
}
#onboarding-root .onboarding-visual img {
  display: block !important;
  position: static !important;
  width: min(100%, 380px) !important;
  max-width: 100% !important;
  height: 100% !important;
  max-height: 180px !important;
  margin: 0 !important;
  object-fit: contain;
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  animation: none !important;
  transition: none !important;
}
#onboarding-root :is(.onboarding-story-copy, .onboarding-welcome-copy) {
  grid-area: copy;
  position: static !important;
  align-self: start !important;
  text-align: left !important;
  opacity: 1 !important;
  transform: none !important;
}
#onboarding-root .without-image .onboarding-visual {
  display: none !important;
}
#onboarding-root .onboarding-stage h1 {
  max-width: none !important;
  margin: 0 !important;
  font-size: clamp(26px, 7vw, 34px) !important;
  line-height: 1.16 !important;
  color: var(--theme-text) !important;
  text-shadow: none !important;
}
#onboarding-root .onboarding-stage p {
  font-weight: 400 !important;
  margin: 12px 0 0 !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  color: var(--theme-text-muted) !important;
}
#onboarding-root
  :is(.onboarding-route-grid, .onboarding-fields, .onboarding-rhythm, .onboarding-legal-grid) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 12px !important;
  margin: 0 !important;
}
#onboarding-root
  :is(
    .onboarding-route-card,
    .onboarding-example,
    .onboarding-story-note,
    .onboarding-legal-note,
    .onboarding-access-list,
    .onboarding-rhythm-card,
    .onboarding-legal-grid article
  ) {
  min-height: 0 !important;
  padding: 16px !important;
  margin: 0 !important;
  background: var(--theme-surface-soft) !important;
  border: 1px solid var(--theme-line) !important;
  border-radius: 16px !important;
  box-shadow: none !important;
  color: var(--theme-text) !important;
}
#onboarding-root .onboarding-route-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 6px 12px !important;
  text-align: left !important;
}
#onboarding-root .onboarding-route-card.recommended {
  border-color: var(--mn-accent) !important;
}
#onboarding-root .onboarding-route-card strong {
  color: var(--theme-text) !important;
  grid-column: 1;
  grid-row: 1;
  font-size: 16px !important;
}
#onboarding-root .onboarding-route-time {
  grid-column: 2;
  grid-row: 1;
  font-size: 12px !important;
  color: var(--theme-text-muted) !important;
}
#onboarding-root .onboarding-route-card small {
  color: var(--theme-text-muted) !important;
  grid-column: 1 / -1;
}
#onboarding-root :is(small, .onboarding-hint) {
  font-weight: 400 !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: var(--theme-text-muted) !important;
}
#onboarding-root :is(.onboarding-example blockquote, .onboarding-story-note span) {
  font-size: 15px !important;
  line-height: 1.5 !important;
  color: var(--theme-text) !important;
}
#onboarding-root .onboarding-example blockquote {
  margin: 0 0 10px !important;
}
#onboarding-root .onboarding-name :is(input, select) {
  color: var(--theme-text) !important;
  background: var(--theme-surface-soft) !important;
  min-height: 48px;
}
#onboarding-root .onboarding-access-list {
  display: grid;
  gap: 14px;
}
#onboarding-root .onboarding-rhythm-card {
  display: grid !important;
  grid-template-columns: 36px minmax(0, 1fr) !important;
  gap: 12px !important;
}
#onboarding-root .onboarding-rhythm-card .time-pill {
  grid-column: 2;
  width: 110px !important;
}
#onboarding-root .onboarding-actions {
  grid-row: 3;
  width: 100%;
  max-width: 540px;
  box-sizing: border-box;
  margin: 0 auto !important;
  padding: 12px 24px max(16px, env(safe-area-inset-bottom)) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
#onboarding-root .onboarding-actions .btn {
  min-height: 48px !important;
  height: auto !important;
}
#onboarding-root .onboarding-skip-overview {
  grid-row: 4;
  justify-self: center;
  min-height: 44px;
  padding: 0 16px;
  margin: -8px 0 max(8px, env(safe-area-inset-bottom));
  border: 0;
  background: transparent;
  color: var(--theme-text-muted);
  font: inherit;
  font-size: 14px;
}
#onboarding-root :is(button, input, select, a):focus-visible {
  outline: 2px solid var(--mn-accent);
  outline-offset: 3px;
}
/* Small lookup controls also use existing palette tokens, not new glowing surfaces. */
.mn-task-search {
  margin: 0 0 12px;
}
.mn-task-search input,
.notes-search-field input {
  min-width: 0;
  flex: 1;
}
.mn-search-clear {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--theme-text-muted);
  font-size: 22px;
}
.note-tags button.tag {
  min-height: 44px;
  font: inherit;
  cursor: pointer;
}
.mn-task-search-hint {
  display: block;
  margin: 6px 0 12px;
  color: var(--theme-text-muted);
  font-size: 12px;
}
.mn-task-search-hint[hidden],
.mn-search-clear[hidden] {
  display: none !important;
}
